Bonjour à tous!
De ce que j'ai pu lire partout sur le net, le LD_LIBRARY_PATH permet d'indiquer lors de la compil+linking avec g++ (entre autre) où chercher certaines bibliothèques nécessaires à notre linking...
Mon problème vient du fait que j'ai pu également lire que c'était MAL d'utiliser cette variable et qu'il valait mieux utiliser des options du style -L /path -lmaLib.
Et effectivement cela fonctionne bien pour certaines de mes bibliothèques et pas pour d'autres...
Dans mon projet ma ligne de linking ressemble à ça:
Cette ligne ne me génère pas d'erreur à son exécution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part /usr/bin/g++ -L/usr/lib -L/usr/local/python2.6/lib -lpython2.6 /monPath/malib.so -o main main.o
Par contre, lorsque j'essaye d'exécuter le main généré... j'ai une erreur m'indiquant que la bibliothèque partagée python n'a pu être chargée:
Il suffit que je rajoute le path vers la lib python dans mon LD_LIBRARY_PATH pour que cela fonctionne... mais je n'arrive pas à comprendre pourquoi, étant donné que je lui indique explicitement ou aller chercher cette bibliothèque. Le mécanisme semblant fonctionner pour l'autre bibliothèque (malib.so) que j'utilise...
Code : Sélectionner tout - Visualiser dans une fenêtre à part error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory
Bref, il me manque une brique dans le mur de ma compréhension de tout ça... si quelqu'un l'a à sa disposition, je veux bien qu'il m'éclaire
Merci à tous!
Partager