2017-01-20 1 views
2

J'essaie de construire SDL pour une utilisation avec Eclipse. Je suis en train d'enlever cette erreur de liaison:Comment puis-je éliminer l'erreur lieur mingw32/bin/ld.exe: ne peut pas trouver -lSDL

À partir Compilation

21:15:53 **** Incremental Build of configuration Debug for project CMD **** 
Info: Internal Builder is used for build 
g++ "-IC:\\MinGW\\include\\SDL2" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\CMD.o" "..\\src\\CMD.cpp" 
g++ -o CMD.exe "src\\CMD.o" -lmingw32 -lSDL -lSDL2main -lSDL2 

erreur (s):

c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lSDL collect2.exe: error: ld returned 1 exit status 21:15:54 Build Finished (took 1s.36ms)

Le most pertinent SO archive source I researched ne semble pas avoir une réponse à une action pour mon problème, bien que il avait exactement le même problème/erreur: titre - produisant le même message d'erreur:

c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/bin/ld.exe: cannot find -lSDL.

Si vous cliquez sur la "solution" des auteurs pour la même erreur que la mienne, il n'est pas clair pour moi comment il l'a résolu.

Une aide?

+0

Où avez-vous votre 'libSDL2.a' et/ou' libSDL2.dll.a'? Vous avez passé le chemin des en-têtes (avec l'indicateur de compilation '-I') mais pas le chemin vers le répertoire des bibliothèques (drapeau' -L' pendant la phase de liaison). – keltar

+0

libSDL2.a et libSDL2.dll.a sont tous deux trouvés c:/MinGW/lib – user121903

+1

Ok, mon mauvais pour la lecture négligemment, pourquoi diable vous reliant à la fois «SDL» et «SDL2»? Ils ne sont pas compatibles. – keltar

Répondre

0

Problème résolu, SDL2 impressionnant. Ok:

c:/mingw/bin /../lib/gcc/mingw32/ 4.7.0 /../../../../mingw32/bin/ld.exe: impossible de trouver -lSDL . !

Remontage du SDL2 éviter les conflits entre les fichiers binaires SDL et les fichiers SDL2 comme keltar Mentionné résolu le problème immédiat, et le problème construit sans erreur de fixation ce qui était dans les accolades démasqués nouveau problème: plantage. J'ai dépouillé le programme aux os nus et ai conclu que le plantage était en dehors du code puisqu'il se produisait même sans code. Pour résoudre le nouveau problème, il faut aller dans le fichier de distribution SDL2 (celui copié dans MinGW) et en copier le fichier SDL2.dll [DLL from distributable] [1] --- en faisant glisser le fichier sur votre débogue et/ou libérer des dossiers où le fichier .exe vit. (. exe + dll -> right?) moving dll to exes. Construire/Exécuter le programme cela devrait fonctionner! Vous devriez voir un message de bienvenue! https://www.caveofprogramming.com/c-for-complete-beginners/setting-up-sdl-windows.html