Problème de librairies dynamiques

Résolu
bouskidou Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   -
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 33774 Date d'inscription   Statut Modérateur Dernière intervention   7 883
 
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