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

Author Topic: Статическая сборка библиотеки LimeReport на Qt 5.9 (MINGW 5.3)  (Read 7850 times)

tech 49

  • Newbie
  • *
  • Posts: 7
    • View Profile
Возможно ли собрать статическую библиотеку правильно и что для этого нужно. Кто нибудь пробовал?

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Ну я так понимаю, как минимум лицензия :)

tech 49

  • Newbie
  • *
  • Posts: 7
    • View Profile
Возможно, если приложение идет как коммерческий продукт. Здесь скорей вопрос с технической стороны. :)

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Ну Алекс точно ответит. У меня же мысль такая, что ограничения ты поиметь можешь со стороны твоей версии QT.
Позволит ли оная тебе прилинковать статически либы. Я не пробовал. Ну, конечно, соблюдая соглашение, что я юзаю LGPL и потому собираю QT днамически.

Вообще же, может стоит попробовать указать линкеру явно вариант сборки LM.

ну т.е

cd путь к limereport
qmake -QMAKE_LFLAGS+=-static
make или mingw32-make , какой компилятор пользуешь

tech 49

  • Newbie
  • *
  • Posts: 7
    • View Profile
Да собрать возможно, если программа не будет использоваться, как коммерческий закрытый продукт для продажи и так далее.
Делал так в *.pro файле: CONFIG += staticlib
Все собирается но толком не работает.

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Ну я вот тоже собрал.
Ну не пробовал еще к проекту подключить, после футбола или завтра может попробую

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Пофиксил статическую сборку :)
Можно тестировать :)

tech 49

  • Newbie
  • *
  • Posts: 7
    • View Profile
Версия LimeReport 1.4.16

При статической сборки дизайнера и любого другого приложения просит файл lrreportengine.cpp

lrreportengine.cpp:-1: ошибка: undefined reference to `LimeReport::initReportItems()
lrreportengine.cpp:-1: ошибка: undefined reference to `LimeReport::initObjectInspectorProperties()
lrreportengine.cpp:-1: ошибка: undefined reference to `LimeReport::initSerializators()


Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Поправил, можно проверять.

tech 49

  • Newbie
  • *
  • Posts: 7
    • View Profile
Сборка библиотек получается но видно что в библиотеке libQtZint.a проблема, cначала собирал QtZint, потом только удалось библиотеку LimeReport

Проблема при сборки приложения, первоначально проверяю на designer.pro

lrreportengine.cpp:-1: ошибка: undefined reference to `initResources()'
lrbarcodeitem.cpp:-1: ошибка: undefined reference to `_imp___ZN4Zint5QZintC1Ev'
lrbarcodeitem.cpp:-1: ошибка: undefined reference to `_imp___ZN4Zint5QZintD1Ev'
lrbarcodeitem.cpp:-1: ошибка: undefined reference to `_imp___ZN4Zint5QZintD1Ev'
lrbarcodeitem.cpp:-1: ошибка: undefined reference to `_imp___ZN4Zint5QZintC1Ev'
lrbarcodeitem.cpp:-1: ошибка: undefined reference to `_imp___ZN4Zint5QZint7setTextERK7QString'
и так далее

В любом другом *.pro использую строки:

LIBS += "-LC:/Qt/5.9_static/libLimeReport" -llimereport -lQtZint
INCLUDEPATH += "C:/Qt/5.9_static/libLimeReport/include"


Происходит тоже самое

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Попробуйте перед сборкой клерануть limereport.
Проверял на чистой сборке все проходит нормально.
Единственно у меня zint собирается в длл.
 

tech 49

  • Newbie
  • *
  • Posts: 7
    • View Profile
Нет, в этом весь смысл что статическая библиотека QtZint, а если dll, то она подхватывает те же библиотеки Qt :) 

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Ок поковыряю сборку zint

dlanter

  • Newbie
  • *
  • Posts: 1
    • View Profile
А будет ли статическая компиляция для кросскомпиляции из каробки? А то приходится чутка править про файлы.

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
dlanter
Поправлю :) Спасибо за патч