/usr/bin/ld: ne peut trouver : Aucun fichier ou répertoire
Je suis cette SDL tutoriel d'essayer et de faire usage de certains SDL bibliothèques d'extension. Mon code est identique à leur mais je suis toujours incapable de make
le fichier qui m'amène à croire que le problème est dans mon makefile
qui ressemble à ceci:
CXX = g++
# Update these paths to match your installation
# You may also need to update the linker option rpath, which sets where to look for
# the SDL2 libraries at runtime to match your install
SDL_LIB = -L/usr/local/lib -lSDL2 -Wl,-rpath=/usr/local/lib, -lSDL2_image
SDL_INCLUDE = -I/usr/local/include
# You may need to change -std=c++11 to -std=c++0x if your compiler is a bit older
CXXFLAGS = -Wall -c -std=c++11 $(SDL_INCLUDE)
LDFLAGS = $(SDL_LIB)
EXE = SDL_Lesson3
all: $(EXE)
$(EXE): main.o
$(CXX) $< $(LDFLAGS) -o $@
main.o: main.cpp
$(CXX) $(CXXFLAGS) $< -o $@
clean:
rm *.o && rm $(EXE)
Que makefile
a bien fonctionné pour les exemples précédents. La seule chose qui a changé dans cet exemple est la ligne 5, dans laquelle j'ai ajouté -lSDL2_image
que par le tutoriel. Lorsque j'essaie make
le fichier j'ai le traceback:
rony@comet:~/Documents/cpp/helloworld/lesson3$ make
g++ main.o -L/usr/local/lib -lSDL2 -Wl,-rpath=/usr/local/lib, -lSDL2_image -o SDL_Lesson3
/usr/bin/ld: cannot find : No such file or directory
collect2: error: ld returned 1 exit status
make: *** [SDL_Lesson3] Error 1
Est là une erreur avec mon makefile? Je ne l'ai pas installé la bibliothèque correctement?
- Vous avez une pseudo-virgule à la fin de l'-Wl option.
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est ce coquin virgule:
provoquant l'éditeur de liens pour regarder pour les bibliothèques dans un répertoire inexistant avec un nom vide, ainsi que
/usr/local/lib
. Suppression de la virgule devrait résoudre le problème.