Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Как подключить limereport в свой проект Qt?  (Read 15309 times)

skope50

  • Newbie
  • *
  • Posts: 1
    • View Profile
Здравствуйте! Заранее прошу прощения (так как подобный топик уже видел, но он мне, к сожалению, не помог).
Можете ли вы пошагово объяснить, как подключить limereport в свой проект Qt?
Опишу то, что делаю я:
1) Копирую полностью все файлы из скачанного архива в папку limereport. Эту папку забрасываю туда, где находится мой файл .pro
2) Прописываю в .pro файле следующий код:

Code: [Select]
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/limereport/ -llimereport
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/limereport/ -llimereport
else:unix: LIBS += -L$$PWD/limereport/ -llimereport

INCLUDEPATH += $$PWD/limereport/include
DEPENDPATH += $$PWD/limereport/include
В итоге в проекте не виден #include <LimeReport>
Если вам не трудно, опишите пожалуйста правильную последовательность действий для подключения отчёта в свой проект, думаю это будет полезно для всех новичков)Заранее спасибо

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile

MichaelTarasov

  • Guest
Re: Как подключить limereport в свой проект Qt?
« Reply #2 on: August 31, 2017, 09:55:26 pm »
Здравствуйте, Alex!

В видео вариант сборки проекта под Windows.
Пока пробую применить эту же инструкцию под Simply Linux.

Сообщение Qt при открытии проекта limereport.pro:
Project MESSAGE: Compiling for 64bit system
Project MESSAGE: uitools
Project MESSAGE: uitools
Project ERROR: Unknown module(s) in QT: script
Project ERROR: Unknown module(s) in QT: script
Project ERROR: Unknown module(s) in QT: script
Project ERROR: Unknown module(s) in QT: script
Project MESSAGE: Release
Project MESSAGE: Compiling for 64bit system
Project MESSAGE: uitools
Project MESSAGE: zint
Project ERROR: Unknown module(s) in QT: script

Сборка завершается ошибкой: [sub-3rdparty-qmake_all] Ошибка 3

Подскажите, пожалуйста, можно ли как-то решить эту проблему?

Долго не решался заняться Qt только из-за отсутствия вменяемого генератора отчётов, сейчас, с Вашим творением, мои мечты, кажется, близки к исполнению :)
« Last Edit: September 01, 2017, 10:43:41 am by Michael Tarasov »

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Re: Как подключить limereport в свой проект Qt?
« Reply #3 on: August 31, 2017, 11:47:03 pm »
Qt из линуксового репозитория ставили ?
Возможно не все модули установлены. В частности отсутствует QtScript.
 

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Re: Как подключить limereport в свой проект Qt?
« Reply #4 on: September 01, 2017, 10:21:33 am »
Не "возможно", а так и есть... весьма частая проблема, некоторые репозитарии не содержат собранной QtScript.so, надо ручками собирать или искать, где зацепить. Проблема при сборке креатора частая

MichaelTarasov

  • Guest
Re: Как подключить limereport в свой проект Qt?
« Reply #5 on: September 01, 2017, 08:22:20 pm »
Qt из линуксового репозитория ставили ?
Возможно не все модули установлены. В частности отсутствует QtScript.
Qt cтавил с сайта разработчика, вроде как последние версии рекомендуют устанавливать таким образом. Действительно, QtScript не был установлен, т.к. считается "нежелательным" (deprecated). После установки модуля проект LimeReport стал собираться, сформировал каталог lib.
Создаю следующий проект (LimeReport_demo), прописываю всё как в инструкции, но собраться не может:
/usr/bin/ld: warning: libQtZint.so, needed by /home/michael/Install/Qt/limeReport_demo/../lib/debug//liblimereport.so, not found (try using -rpath or -rpath-link) и далее ещё 13 ошибок, следующих из этой.
Смущает двойной слэш после debug... Только начинаю разбираться с Qt, сильно не ругайте, если не прав :)

Под Windows 10 (Qt 5.9.1) всё собралось без проблем и работает. Браво!

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Re: Как подключить limereport в свой проект Qt?
« Reply #6 on: September 02, 2017, 03:43:08 pm »
Михаил, копай зависимости. Видимо не только скритповой бибиотеки нет

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Re: Как подключить limereport в свой проект Qt?
« Reply #7 on: September 04, 2017, 08:42:15 pm »
Михаил,
Добавьте в pro файл подключение библиотеки QtZint

CONFIG(release, debug|release): LIBS += -L$$PWD/limereport/release/ -lQtZint
else:CONFIG(debug, debug|release): LIBS += -L$$PWD/limereport/debug/ -lQtZint 
« Last Edit: September 04, 2017, 08:45:58 pm by Arin Alex »

MichaelTarasov

  • Guest
Re: Как подключить limereport в свой проект Qt?
« Reply #8 on: September 06, 2017, 12:40:49 am »
Михаил,
Добавьте в pro файл подключение библиотеки QtZint

CONFIG(release, debug|release): LIBS += -L$$PWD/limereport/release/ -lQtZint
else:CONFIG(debug, debug|release): LIBS += -L$$PWD/limereport/debug/ -lQtZint
Спасибо! Работает!
Для тех, кто под Линуксом (может, пригодится новичкам): если поместить содержимое сформированного по видеоинструкции каталога lib/debug (без liblimereport.prl) в каталог /lib64 (для 64 битных систем) на корне, исполняемый файл стартует без необходимости запуска Qt.

dimaan29

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Как подключить limereport в свой проект Qt?
« Reply #9 on: March 09, 2024, 06:33:55 am »
Единственный рабочий способ подключить LimeReport в ваш проект (и на Windows, и на Linux):
1. Скачать исходный код LimeReport;
2. Разархивировать;
3. Положить папку и исходным кодом LimeReport в корень папки с вашим проектом;
4. В .pro файле вашего проекта прописать include($$PWD/LimeReport_1.7.6/limereport.pri)
 4.1 То есть указать путь к файлу limereport.pri, чтобы QT смог его правильно собрать.
Если у вас Linux:
5. После сборки вашего проекта и переноса на другой Linux-ПК, где нет установленного QT, установить необходимые библиотеки. В моем случае - это libqt5designercomponents.
Если кто знает, как сделать так, чтобы все библиотеки были включены в исполняемый файл, напишите пожалуйста.