2016-09-07 1 views
1

J'essaie d'exécuter mon programme dans un autre ordinateur sans bibliothèques. Dans le fichier * .pro i ajouté:Qt, programme de compilation avec dynamique libraried dans le même chemin

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 

Puis je copier des bibliothèques à un autre ordinateur à ~/myprogram/libs et fichier binaire ~/myprogram, mais il ne peut pas charger les bibliothèques

./ gpAnalizer: erreur lors du chargement des bibliothèques partagées: libtinyxml2.so.2: ne peut pas ouvrir le fichier commun de l'objet: Aucun fichier ou répertoire

Répondre

2

Vous devez utiliser la variable QMAKE_RPATHDIR.

Ajouter la ligne de suivi à votre fichier .pro:

QMAKE_RPATHDIR += $$OUT_PWD/libs 

Bien sûr, cela peut fonctionner si $$OUT_PWD est ~/myprogram/. Si ce n'est pas le cas, remplacez-le par le chemin réel.