Problème de librairies dynamiques
Résolu
Bonjour,
J'ai un problème avec des librairie que j'ai créé.
J'ai créé ces librairie dans un makefile avec :
Ce qui me retourne des fichiers .so
Ensuite, dans un autre dossier, je veux utiliser mes librairie pour compiler mon programme :
avec :
et OBJ pointe vers l'objet généré pour mon exécutable.
Lorsque je fais
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.
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.
A voir également:
- Problème de librairies dynamiques
- Tableaux croisés dynamiques - Guide
- Le nom du champ de tableau croisé dynamique n'est pas valide - Forum Excel
- Le point d'entrée de procédure est introuvable dans la bibliothèque de liens dynamiques ✓ - Forum Logiciels
- Impossible d'afficher le rapport de tableau croisé dynamique sur un rapport existant - Forum Bureautique
- Point d'entrée de procédure introuvable ✓ - Forum Logiciels
1 réponse
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
Bonne chance
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