J'ai un petit probl�me avec code::blocks sous Linux avec mon projet.
J'ai trois projets dans un workspace:
-- Un projet ex�cutable pour tester une librairie partag�e.
-- Un projet Librairie partag�e principal
-- un autre projet de librairie partag�e utilitaire
Dans la bo�te de dialogue Project settings, dans l'onglet Build Targets, j'ai red�finit le Output Filename pour cr�er l'ex�cutable et la librairie dans le m�me r�pertoire.
en gros, sa donne ceci:
/home/philippe/A3D_Debug/TestApplication
/home/philippe/A3D_Debug/libA3D_Core.so
/home/philippe/A3D_Debug/libA3D_Util.so
Quand j'ai li� la premi�re librairie partag�e � l'ex�cutable, j'ai d�fini le chemin dans les options pour l'�diteur de lien pour /home/philippe/A3D_Debug/libA3D_Core.so
Le programme se compilait et s'ex�cutait sans probl�me.
Ensuite quand j'ai cr�� la deuxi�me librairie partag�e et que je l'ai li�e avec la premi�re librairie partag�e en d�finissant les options pour l'�diteur de lien pour /home/philippe/A3D_Debug/libA3D_Util.so, je pouvais compiler et lier la premi�re librairie sans probl�me. Mais quand je construit l'ex�cutable, j'ai ce message:
||warning: ../../A3D_Debug/libA3D_Util.so, needed by /home/philippe/A3D_Debug/libA3D_Core.so, not found (try using -rpath or -rpath-link)|
/home/philippe/A3D_Debug/libA3D_Core.so||undefined reference to `A3D::Util::ToString(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'|
||=== Build finished: 1 errors, 1 warnings ===|
dans les options pour libA3D_Core.so j'ai essay� de d�finir la librairie utilitaire en chemin absolu et en chemin non absolu, m�me r�sultat.
J'ai essay� en mettant A3D_Util dans l'option pour les librairies de l'�diteur et lien et mettre le chemin dans les r�pertoires de recherche pour l'�diteur de lien. Je sais compiler A3D_Core, mais quand je recompile mon ex�cutable, me dis:
||=== TestApplication, Debug ===|
||warning: ../../A3D_Debug/libA3D_Util.so, needed by /home/philippe/A3D_Debug/libA3D_Core.so, not found (try using -rpath or -rpath-link)|
||=== Build finished: 0 errors, 1 warnings ===|
Cette librairie est dans le m�me r�pertoire que l'ex�cutable. Le r�pertoire pour rechercher les librairies est d�finis dans les options de l'�diteur de lien pour l'ex�cutable (comme c'est le m�me r�pertoire que l'autre librairie).
Quand le lance l'ex�cutable, me dis qu'il peut pas trouver la librairie libA3D_Util.so
J'ai m�me d�finit le r�pertoire /home/philippe/A3D_Debug dans le fichier ld.so.conf
Est ce qu'il y a d'autres options � d�finir quand on lie une librairie partag�e qui se lie elle m�me � une autre librairie partag�e ?
Partager