Russian Qt Forum
Сентябрь 30, 2024, 14:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Проблемы с NCReport  (Прочитано 11069 раз)
Игорь
Гость
« : Август 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
Записан
kwisp
Гость
« Ответ #1 : Август 27, 2009, 08:40 »

а заголовочный файл с проблемным классом естественно заинклюдил?
Записан
Rcus
Гость
« Ответ #2 : Август 27, 2009, 08:54 »

kwisp шутник Улыбающийся Инклуды разбираются на первой фазе трансляции, а тут ошибка линковки.

Возможно у этой библиотеки есть разные конфигурации сборки и в вашей конфигурации некоторые классы отключены. Надо смотреть мануал, экспортируемые символы и т.д.
Записан
kwisp
Гость
« Ответ #3 : Август 27, 2009, 09:10 »

действительно, прошляпил.   Показает язык

может по этому?
Detailed Description
Datasource for SQL queries. Uses Qt's SQL module.
Inherits: NCReportDataSource
« Последнее редактирование: Август 27, 2009, 09:22 от kwisp » Записан
Игорь
Гость
« Ответ #4 : Август 27, 2009, 12:59 »

Вот что тут есть...
библиотеки есть libncreport2.a, ncreport2.dll...
в файле ncreport2.dll есть строчка NCReportSQLDataSource, а в файле libncreport2.a нету...
А строка NCReportDataSource есть в обоих файлах... поэтому  с классом NCReportDataSource сборка проги проходит нормально, а с NCReportSQLDataSource ругается...
Я плохо соображаю как и какие библиотеки включать, подскажите как исправить ситуацию?
Записан
kwisp
Гость
« Ответ #5 : Август 27, 2009, 13:13 »

Игорь,
подключал sql модуль к проекту(QT+=sql ), просто по-ходу класс NCReportDataSource  этот модуль не использует(это моя догадка за 100% правду прошу не принимать), а NCReportSQLDataSource использует, может из-за этого и трабла.

почитай в ассистенте
SQL Module
Записан
Игорь
Гость
« Ответ #6 : Август 27, 2009, 13:48 »

Спасибо за ответы..
похоже разобрался в чем конкретно проблема.
libncreport2.a - это библиотека импорта... линковщик смотрит ее, а там не видит функции класса NCReportSQLDataSource, хотя в dll они есть, просто нада переделать библиотеку импорта. Щас найду как.
хотя есть еще способ - нада объявить эти все функции экспортируемыми...
Записан
Игорь
Гость
« Ответ #7 : Август 27, 2009, 14:20 »

не помогло  Непонимающий...
mingw обходится без библиотек импорта...
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #8 : Август 27, 2009, 15:20 »

>>libncreport2.a - это библиотека импорта... линковщик смотрит ее, а там не видит функции класса
возможно она собрана для релизной сборки, а ты собраешь отладочную версию программы.
Записан

Юра.
Игорь
Гость
« Ответ #9 : Август 28, 2009, 05:33 »

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

что мешает использовать eXaro? Распространяется под GPL/LGPL...
Записан
Игорь
Гость
« Ответ #11 : Сентябрь 02, 2009, 07:34 »

На eXaro савсем нет документации...  Грустный
Записан
f0x
Гость
« Ответ #12 : Сентябрь 02, 2009, 09:57 »

Лучшая документация - исходники  Подмигивающий.
Вот тут немного есть - http://exaro.sourceforge.net/
Нам просто банально не хватает времени. Но версия 3 обязательно выйдет с полной документацией Улыбающийся
Записан
minigo
Гость
« Ответ #13 : Сентябрь 08, 2009, 11:30 »

что мешает использовать eXaro? Распространяется под GPL/LGPL...

поясните новичку, на каких условиях я могу использовать eXaro в коммерческом проекте ?
Записан
C.H.
Гость
« Ответ #14 : Сентябрь 08, 2009, 20:21 »

давайте ветку для Exaro сделаем
у мну тоже куча вопросов.
примеров не нашел Грустный

как юзать??
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.11 секунд. Запросов: 23.