Russian Qt Forum

Qt => Базы данных => Тема начата: Игорь от Август 27, 2009, 06:54



Название: Проблемы с NCReport
Отправлено: Игорь от Август 27, 2009, 06:54
Есть проблема с компилляцией программы с классом NCReport. В мануале написано исправить файл .pro следующим образом -
win32 {
LIBS +=../lib/ncreport2.lib }
но в в установленном ncreport нет файла ncreport2.lib, а есть только
libncreport2.a libncreportdesigner2.a ncreport2.dll ncreportdesigner2.dll
обошел пролему так:
win32 {
LIBS += -lncreport2
}
все перкрасно заработало, пока не стал использовать класс NCReportSQLDataSource, выдает ошибку
 undefined reference to `NCReportSQLDataSource::NCReportSQLDataSource(QObject*)
и на все остальные функции этого класса, на функции класса NCReport, NCReportPreviewWindow, NCReportPreviewOutput не ругается...
Кто нибудь сталкивался с этим, знает как решить проблему?
Используется QT 4.5.1 и NCReport 2.3.1


Название: Re: Проблемы с NCReport
Отправлено: kwisp от Август 27, 2009, 08:40
а заголовочный файл с проблемным классом естественно заинклюдил?


Название: Re: Проблемы с NCReport
Отправлено: Rcus от Август 27, 2009, 08:54
kwisp шутник :) Инклуды разбираются на первой фазе трансляции, а тут ошибка линковки.

Возможно у этой библиотеки есть разные конфигурации сборки и в вашей конфигурации некоторые классы отключены. Надо смотреть мануал, экспортируемые символы и т.д.


Название: Re: Проблемы с NCReport
Отправлено: kwisp от Август 27, 2009, 09:10
действительно, прошляпил.   :P

может по этому?
Detailed Description
Datasource for SQL queries. Uses Qt's SQL module.
Inherits: NCReportDataSource


Название: Re: Проблемы с NCReport
Отправлено: Игорь от Август 27, 2009, 12:59
Вот что тут есть...
библиотеки есть libncreport2.a, ncreport2.dll...
в файле ncreport2.dll есть строчка NCReportSQLDataSource, а в файле libncreport2.a нету...
А строка NCReportDataSource есть в обоих файлах... поэтому  с классом NCReportDataSource сборка проги проходит нормально, а с NCReportSQLDataSource ругается...
Я плохо соображаю как и какие библиотеки включать, подскажите как исправить ситуацию?


Название: Re: Проблемы с NCReport
Отправлено: kwisp от Август 27, 2009, 13:13
Игорь,
подключал sql модуль к проекту(QT+=sql ), просто по-ходу класс NCReportDataSource  этот модуль не использует(это моя догадка за 100% правду прошу не принимать), а NCReportSQLDataSource использует, может из-за этого и трабла.

почитай в ассистенте
SQL Module


Название: Re: Проблемы с NCReport
Отправлено: Игорь от Август 27, 2009, 13:48
Спасибо за ответы..
похоже разобрался в чем конкретно проблема.
libncreport2.a - это библиотека импорта... линковщик смотрит ее, а там не видит функции класса NCReportSQLDataSource, хотя в dll они есть, просто нада переделать библиотеку импорта. Щас найду как.
хотя есть еще способ - нада объявить эти все функции экспортируемыми...


Название: Re: Проблемы с NCReport
Отправлено: Игорь от Август 27, 2009, 14:20
не помогло  ???...
mingw обходится без библиотек импорта...


Название: Re: Проблемы с NCReport
Отправлено: lit-uriy от Август 27, 2009, 15:20
>>libncreport2.a - это библиотека импорта... линковщик смотрит ее, а там не видит функции класса
возможно она собрана для релизной сборки, а ты собраешь отладочную версию программы.


Название: Re: Проблемы с NCReport
Отправлено: Игорь от Август 28, 2009, 05:33
Уже прошел это... ncreport собран для релиза, для дебаг совсем не компилируется. Наэкспериментировался - стер libncreport.a и все тоже самое: с классом NCReport все собирается и программа работает нормально, а с классом NCReportSQLDataSource теже ошибки.
Подскажите как и что изменить, что бы собрать программу со статической библиотекой ncreport?! В мануале  это как размазано написано... "см пример testapp.pro, а его нет. Хотя "add full source package to the project" - это значит нада иметь полный пакет исходников?... а за исходники нада платить 200$. Замкнутый круг  ???


Название: Re: Проблемы с NCReport
Отправлено: f0x от Август 28, 2009, 11:41
что мешает использовать eXaro? Распространяется под GPL/LGPL...


Название: Re: Проблемы с NCReport
Отправлено: Игорь от Сентябрь 02, 2009, 07:34
На eXaro савсем нет документации...  :(


Название: Re: Проблемы с NCReport
Отправлено: f0x от Сентябрь 02, 2009, 09:57
Лучшая документация - исходники  ;).
Вот тут немного есть - http://exaro.sourceforge.net/
Нам просто банально не хватает времени. Но версия 3 обязательно выйдет с полной документацией :)


Название: Re: Проблемы с NCReport
Отправлено: minigo от Сентябрь 08, 2009, 11:30
что мешает использовать eXaro? Распространяется под GPL/LGPL...

поясните новичку, на каких условиях я могу использовать eXaro в коммерческом проекте ?


Название: Re: Проблемы с NCReport
Отправлено: C.H. от Сентябрь 08, 2009, 20:21
давайте ветку для Exaro сделаем
у мну тоже куча вопросов.
примеров не нашел :(

как юзать??


Название: Re: Проблемы с NCReport
Отправлено: f0x от Сентябрь 10, 2009, 14:57
создавайте ветку - отвечу на вопросы.