2016-09-07 5 views
1

Я пытаюсь запустить свою программу на другом компьютере без библиотек. В * .pro файл я добавил:Qt, компиляция программы с динамической библиотекой по тому же пути

LIBS += -L"$$OUT_PWD/libs" -ltinyxml2 
LIBS += -L"$$OUT_PWD/libs" -lopencv_highgui -lopencv_core -lopencv_imgcodecs -lopencv_imgproc 
LIBS += -L"$$OUT_PWD/libs" -lboost_system 

Затем я скопировал библиотеки в другой компьютер в ~/MyProgram/LIBS и двоичный файл в ~/MyProgram, но она не может загружать библиотеки

./ gpAnalizer: ошибка при загрузке разделяемых библиотек: libtinyxml2.so.2: не могут открыть общие объектный файл: нет такого файла или каталога

ответ

2

Вы должны использовать QMAKE_RPATHDIR переменную.

Добавить последующую строку в файл .pro:

QMAKE_RPATHDIR += $$OUT_PWD/libs 

Конечно, это может работать, если $$OUT_PWD является ~/myprogram/. Если нет, замените его фактическим путем.