Problème de librairies dynamiques

Résolu/Fermé
bouskidou Messages postés 17 Date d'inscription lundi 25 juin 2007 Statut Membre Dernière intervention 1 mars 2013 - 23 janv. 2013 à 11:47
mamiemando Messages postés 33430 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 décembre 2024 - 24 janv. 2013 à 21:50
Bonjour,

J'ai un problème avec des librairie que j'ai créé.
J'ai créé ces librairie dans un makefile avec :

$(LIBRARY):$(OBJ)
	@echo "-> Building library : " $@
	@$(CXX) -shared -o $@  $<

Ce qui me retourne des fichiers .so

Ensuite, dans un autre dossier, je veux utiliser mes librairie pour compiler mon programme :
LIBS	     	= -L../../SimuTools/lib -lDriftFile -lObservable

$(EXE):$(OBJ)
	$(CXX) ${LIBS}  $(OBJ) -o  $(EXE)


avec :
CXXFLAGS    	= -g -Wall
CXX       	= g++-4.4
CXXFLAGS	+= -I../../SimuTools/include


et OBJ pointe vers l'objet généré pour mon exécutable.

Lorsque je fais
make

la compilation me dis que certaines méthodes de ma classe n'ont pas de références définit.

Merci de votre aide par avance.



1 réponse

mamiemando Messages postés 33430 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 décembre 2024 7 809
24 janv. 2013 à 21:50
Sans plus d'information c'est difficile de répondre, mais en gros, cela veut dire qu'à la compilation, gcc a trouvé tous les headers. Par contre au moment du linkage, il lui manque soit des ".o" soit des ".so".

Normalement si ton projet implique libtoto.so libtata.so main.c (qui contient le main) file1.c et file2.c la compilation ressemble à ceci

g++ -c file1.c
g++ -c file2.c
g++ main.c file1.o file2.o -ltoto -ltata


Bonne chance
0