Bonjour à tous
J'ai un petit souci avec le wrapping Swig (1.3.40) d'une application C++ sous Linux (RedHat).
En bref, j'ai trois "modules" c++ dont un que je souhaite interfacer en python.
J'arrive à tout bien compiler sans faire de linking à aucun moment (option -c dans ma ligne de compil g++) sauf lors de la génération du main.cpp de test.
Tout semble se dérouler sans accroc, j'obtiens bien:
Lib1.so, Lib2.so, Lib3.so (Lib3 contenant les éléments "wrappés").
Lorsque je lance l'exécutable c++ généré, tout fonctionne.
Par contre, un fichier .py bidon qui utilise cette même library wrappée... me lève un "Undefined reference" vis à vis d'une des deux autres libraries .so générées (mais non wrappées).
Il me manque visiblement une information de liaison entre ces libraries pour son utilisation en python. Je suppose que je n'ai pas le problème avec la version C++ parce que je spécifie les liaisons lors de la génération de l'exécutable (-L/path/libs....).
Donc.... j'ai fait quelques tests, dont celui de mettre toutes mes sources dans le même répertoire pour ne générer qu'une seule library (sans changer aucune option)... et bien cela fonctionne bien y compris en python!
Donc ma question est: comment indiquer à Python les liens de Lib3.so vers les deux autres? Et ainsi conserver mes trois modules séparés.
Merci à vous![]()
Partager