erreur lors de compilation avec ld
Bonjour,
Je compile un petit programme afin de tester un script pour ld. Le génération de mes .o se passent très bien. La génération du .exe me pose des problèmes si j'essaie de lier avec ld mais pas de problème si j'utilise g++.
Pour être vraiment clair, voici les deux makefile utilisés :
Celui qui fonctionne :
Citation:
all : exe
exe : bonjour.o ouf.o manip.o
g++ -o build/exe build/manip.o build/bonjour.o build/ouf.o
manip.o :
g++ -c manip.cpp -o build/$@
bonjour.o :
g++ -c bonjour.cpp -o build/$@
ouf.o :
g++ -c ouf.cpp -o build/$@
clean :
rm -f build/*
Celui qui ne fonctionne pas :
Citation:
all : exe
exe : bonjour.o ouf.o manip.o
ld -o build/exe build/manip.o build/bonjour.o build/ouf.o
manip.o :
g++ -c manip.cpp -o build/$@
bonjour.o :
g++ -c bonjour.cpp -o build/$@
ouf.o :
g++ -c ouf.cpp -o build/$@
clean :
rm -f build/*
Les erreurs retournées sont du style :
build/manip.o:manip.cpp:(.text+0xd): undefined reference to `std::string::size() const'
Je pense que le problème vient de librairies non trouvées mais je n'arrive pas à lui expliquer ce que je veux...