wie bekomme ich linker-Fehler beseitigen mingw32/bin/ld.exe: cannot find -lSDL
Ich versuche zu bauen SDL
für die Verwendung mit Eclipse. Ich bin versucht zu entfernen diese linker-Fehler:
Anfang Zusammenstellung
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
ERROR(s):
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lSDL
collect2.exe: error: ld zurückgegeben, 1 exit status
21:15:54 Build Fertig hat (also 1s.36 MS)
Den die meisten relevant, SO dass Archiv-Quelle, die ich recherchiert nicht scheinen, um eine verwertbare Antwort für mein problem, habe allerdings das exakt gleiche problem/Fehlermeldung:
Titel --
produzieren die gleiche Fehlermeldung:
c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/bin/ld.exe: cannot find -lSDL.
Wenn du auf den Autoren "Lösung" für die gleichen Fehler wie meine seine mir nicht klar, wie er es gelöst.
Hilfe?
- Wo haben Sie Ihre
libSDL2.a
- und/oderlibSDL2.dll.a
? Sie übergeben den Pfad für die Header (mit-I
compiler-flag), aber nicht den Pfad zu Bibliotheken-Verzeichnis (-L
Flagge während linking-phase). - libSDL2.ein und libSDL2.dll.a beides gefunden c:/MinGW/lib
- Ok, mein schlechtes zum Lesen nachlässig, warum auf der Erde Sie verknüpfen beide
SDL
undSDL2
? Sie sind nicht kompatibel. - Sie nagelte ihn:ich hatte mehrere Fehler, die mit der folgenden patch behoben werden Links nur die Fehler, wir befassen uns mit:Wählen Sie "Projekt" Projekt - >Eigenschaften von C/C++ Build - >Einstellungen-Tool-Einstellungen>GCC-C-Compiler-Include-Pfaden (l) - >"/usr/include/SDL" C/C++ Build - >Einstellungen-Tool-Einstellungen>GCC C Linker-Bibliotheken (l)>"SDL" Gelten ...dann erstellen Sie Projekt und führen...ABER jetzt sehe ich, dass ich mit SDL anstelle von SDL2. Sollte ich neu installieren mit SDL2 und kompatibel zu machen, dann zu sehen, wenn das Projekt einen link?
- Wieder einmal, können Sie sowohl SDL und SDL2 in einem binären.
- Tut mir Leid, ich bin Gefühl, wie der Handlanger, deren rund laufen mit einer vase über seinen Kopf und kann es nicht sehen: wo sehen Sie die SDL und SDL2 in einem binären. Ok ich habe es gefunden...ich habe es gepostet, duh. Arbeiten mit dem th ist und umbuchen.
- Okay, neu zu kompilieren und sicherstellen, dass die SDL führte zu einem sauberen kompilieren, aber ich bin jetzt hängt beim starten. Ich habe alles entfernt innerhalb der eckigen Klammern auszuschließen-software-Themen.
- stackoverflow.com/questions/38703926/... Wie bekommt er die Antwort?
- einwandfreie Ausführung...mit den falschen SDL2.dll. Kann jemand helfen mit, dass?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem gelöst, SDL2 genial. Ok:
c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/bin/ld.exe: cannot find -lSDL.
Neuinstallation von SDL2 vermeiden binäre Konflikt zwischen SDL-Dateien und SDL2-Dateien
als keltar genannten gelöst, das unmittelbare problem, und das problem, gebaut mit keine Fehler!Die Festsetzung, was in den Klammern entlarvt neues problem: Absturz. Ich zog das Programm bare bones und abgeschlossen, die den Absturz war, die außerhalb des Codes, da es eintrat, auch ohne code.
Zur Lösung des neuen Problems zu gehen bräuchten die SDL2-distribution-Datei (die kopiert MinGW) und kopieren Sie die SDL2.dll von ihm [DLL aus ausschüttbaren][1] - - -, indem Sie die Datei über Ihre debug und/oder release-Ordner, wo die .exe-Datei lebt.(.exe + dll -> richtig?) verschieben von dll in EXE-Dateien. Build/Run-das Programm
es sollte funktionieren!
Sie sollten sehen, ein Willkommens-Nachricht!
https://www.caveofprogramming.com/c-for-complete-beginners/setting-up-sdl-windows.html