LimeReport Forum
General Category | Основное => Discussion | Обсуждение => Topic started by: tech 49 on June 09, 2017, 02:58:54 pm
-
Возможно ли собрать статическую библиотеку правильно и что для этого нужно. Кто нибудь пробовал?
-
Ну я так понимаю, как минимум лицензия :)
-
Возможно, если приложение идет как коммерческий продукт. Здесь скорей вопрос с технической стороны. :)
-
Ну Алекс точно ответит. У меня же мысль такая, что ограничения ты поиметь можешь со стороны твоей версии QT.
Позволит ли оная тебе прилинковать статически либы. Я не пробовал. Ну, конечно, соблюдая соглашение, что я юзаю LGPL и потому собираю QT днамически.
Вообще же, может стоит попробовать указать линкеру явно вариант сборки LM.
ну т.е
cd путь к limereport
qmake -QMAKE_LFLAGS+=-static
make или mingw32-make , какой компилятор пользуешь
-
Да собрать возможно, если программа не будет использоваться, как коммерческий закрытый продукт для продажи и так далее.
Делал так в *.pro файле: CONFIG += staticlib
Все собирается но толком не работает.
-
Ну я вот тоже собрал.
Ну не пробовал еще к проекту подключить, после футбола или завтра может попробую
-
Пофиксил статическую сборку :)
Можно тестировать :)
-
Версия 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()
-
Поправил, можно проверять.
-
Сборка библиотек получается но видно что в библиотеке 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"
Происходит тоже самое
-
Попробуйте перед сборкой клерануть limereport.
Проверял на чистой сборке все проходит нормально.
Единственно у меня zint собирается в длл.
-
Нет, в этом весь смысл что статическая библиотека QtZint, а если dll, то она подхватывает те же библиотеки Qt :)
-
Ок поковыряю сборку zint
-
А будет ли статическая компиляция для кросскомпиляции из каробки? А то приходится чутка править про файлы.
-
dlanter
Поправлю :) Спасибо за патч