LimeReport Forum

General Category | Основное => Discussion | Обсуждение => Topic started by: Sch on May 18, 2018, 06:29:33 PM

Title: РЕШЕНО. Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 18, 2018, 06:29:33 PM
Всем доброго дня!

LimeReport последней версии с GitHub, компиляция и сборка под Windows и Raspbian без ошибок (debug и release).
Под Windows собственный проект с подключенным LimrReport успешно собирается и работает (debug и release).
Под Raspbian собственный проект с подключенным LimrReport успешно собирается и работает только как gebug-сборка.
При попытке собрать release получаю ошибку
reportform.cpp:(.text+0x228): undefined reference to `LimeReport::ReportEngine::loadFromFile(QString const&, bool)'
Понять, где косяк, не получается. Подскажите, куда смотреть/копать.
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Arin Alex on May 21, 2018, 06:24:23 PM
Приветствую
А можно глянуть pro file вашей программы? Интересует то место где LimeReport подключается
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 06:35:22 PM
Приветствую
А можно глянуть pro file вашей программы? Интересует то место где LimeReport подключается


Здравствуйте, можно конечно.

### LimeReport ###
DEFINES += UseLimeReport
win32 {
  CONFIG(debug, debug | release): LIBS += -L$$PWD/limereport/win32/debug -llimereportd
  CONFIG(debug, debug | release): INCLUDEPATH += $$PWD/limereport/win32/debug/include
  CONFIG(debug, debug | release): DEPENDPATH += $$PWD/limereport/win32/debug/include
  CONFIG(release, debug | release): LIBS += -L$$PWD/limereport/win32/release -llimereport
  CONFIG(release, debug | release): INCLUDEPATH += $$PWD/limereport/win32/release/include
  CONFIG(release, debug | release): DEPENDPATH += $$PWD/limereport/win32/release/include
}
linux {
  CONFIG(debug, debug | release) {
    LIBS += -llimereportd
    INCLUDEPATH += $$PWD/limereport/debug/include
    DEPENDPATH  += $$PWD/limereport/debug/include
  }
  CONFIG(release, debug | release) {
    LIBS += -llimereport
    INCLUDEPATH += $$PWD/limereport/release/include
    DEPENDPATH  += $$PWD/limereport/release/include
  }
}
##################
Под Raspbian библиотеки скопированы в /lib
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Subst on May 21, 2018, 06:52:24 PM
Может ошибаюсь, пусть Алекс поправит. Но мне кажется для raspbian условие linux { - будет верным
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 06:56:27 PM
Может ошибаюсь, пусть Алекс поправит. Но мне кажется для raspbian условие linux { - будет верным
Файл проекта один - и на Windows (разработка) и на целевую платформу (Raspbian).
Чтобы не путаться при переносе кода.
Ветка linux { } как раз для Raspbian.
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Arin Alex on May 21, 2018, 07:01:36 PM
undefined reference to - как правило это либо не реализован код в классе или заголовок не подходит к бинарнику библиотеки. Если собрать с указанием пути к тому месту где либа собралась не поможет ?
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 07:06:09 PM
undefined reference to - как правило это либо не реализован код в классе или заголовок не подходит к бинарнику библиотеки. Если собрать с указанием пути к тому месту где либа собралась не поможет ?
Пробовал, но еще раз попробую и отпишусь.
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Arin Alex on May 21, 2018, 07:11:16 PM
Вы исходники с гита тяните?
Проект с чистого листа собирается или уже собирали а потом обновились?
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 07:21:39 PM
Раньше брал с SourceForge, но с этой версией делал только gebug.
Последний раз брал с Гита, всё собиралось в новых папках.
До этого исходная папка LimeReport-1.4.7, сейчас - LimeReport-master.
Собранные библиотеки беру из ~/LimeReport-master/build/5.7.1/linux32/debug/lib и ~/LimeReport-master/build/5.7.1/linux32/release/lib и кидаю в /lib, благо теперь имена библиотек debug и release сборок не совпадают.
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Arin Alex on May 21, 2018, 07:26:22 PM
Демки, которые в комплекте к лайму идут, собираются же, как я понимаю, нормально (и debug и release). 
А они точно также цепляются к so.   
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 07:31:16 PM
Да, собираются и запускаются, проверял.
Я правда правил файл limereport.pro - добавил строку в начале CONFIG += no_zint.
И такую же строку в common.pri.
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Arin Alex on May 21, 2018, 07:41:36 PM
Если демки собираются значит основная прога тянет кривой бинарник.
Дебаг собирается в силу того что либа идет с суффиксом d, а релиз видать тянет старый бинарник 
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 07:51:23 PM
Собираю сейчас всё заново. Но это на Raspberry Pi не быстро - по часу примерно на каждую сборку.
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Arin Alex on May 21, 2018, 07:54:42 PM
А LimeReport на нем как работает?  Можно пользовать или тоже медленно?
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 08:04:38 PM
Нормально работает, вполне можно использовать. Но у меня отчеты небольшие правда.
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Arin Alex on May 21, 2018, 08:12:01 PM
Это хорошо :) Рад, что LimeReport может и на таких устройствах работать :)
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 08:15:30 PM
Я не заметил ощутимой разницы по времени работы (сборка и визуализация отчета) между Raspberry Pi и довольно мощным компьютером нв Windows10. LimeReport рулит  ;)
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Subst on May 21, 2018, 08:17:01 PM
To Sch: а нигде бинарник старый не затесался в $PATH ?
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 08:20:07 PM
Я ничего подозрительного не нашел ...
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Subst on May 21, 2018, 08:28:12 PM
which или whereis ничего не кажет?
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 08:38:30 PM
which или whereis ничего не кажет?
Опа ... кажет.
whereis показал liblimereport.so и в /lib, и в /usr/local/lib.
Скорее всего, проблема именно в этом. Но когда я его туда записывал - не помню такого ...  ::)
Сейчас соберется "свежая" debug-сборка, ничего заменять не буду, удалю библиотеки из /usr/local/lib и попробую собрать свой проект.
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Sch on May 21, 2018, 08:58:31 PM
which или whereis ничего не кажет?
Опа ... кажет.
whereis показал liblimereport.so и в /lib, и в /usr/local/lib.
Скорее всего, проблема именно в этом. Но когда я его туда записывал - не помню такого ...  ::)
Сейчас соберется "свежая" debug-сборка, ничего заменять не буду, удалю библиотеки из /usr/local/lib и попробую собрать свой проект.
Да, проблема была именно в этом - убрал библиотеки из /usr/local/lib, в /lib ничего не менял. Мой проект собрался успешно как debug и release.
Огромное спасибо Subst за "наводку" - в Linux я "чайник" - и Алексу за желание помочь!
Title: Re: Ошибка - undefined reference to `LimeReport::ReportEngine::loadFromFile
Post by: Subst on May 22, 2018, 03:54:25 AM
U a welcome :)