Bonjour à tous,
Voici mon problème:
J'ai deux librairies dynamique libA.so et libB.so.
libB.so à été linkée avec libA.so à la compilation (option -lA).
Il faut savoir que libA et libB contiennent certaines definition de fonction qui sont les mêmes (je sais c'est tordu mais je n'ai pas le choix, on me les livre comme ca).
Donc pour que mon programme fonctionne je le link en utilisant uniquement l'option -lB. Comme ca je suis sur d'appeler les fonction de la librairies B et si jamais B a besoin de certaines fonctions de A elle la charge. Et ca fonctionne.
Maintenant il me faut integrer (et je n'ai toujours pas le choix!) ces deux libraries A et B dans une libraries C qui elle sera utilisé par mon programme.
Donc je me dis pas de probleme: je compile ma libC.so avec -lB et mon prog avec -lC et tout s'enchaine. Sauf que ca ne marche pas.
Le seul moyen que j'ai trouvé pour avoir quelque chose qui tourne c'est de compiler la libC avec -lA ET -lB (et dans cet ordre seulement en plus)!!
Et cette solution m'ennuie car comme je l'ai dit plus haut il y a des fonctions communes a ces 2 libraries. Et donc quand mon programme aura besoin d'une de ces fonctions, comment être sur que j'appelle bien celle de la libB et non celle de la libA??
Je ne comprend pas bien comment ca fonctionne...
Merci pour votre aide...
Partager