2017-08-20 2 views
0

Ich kann nicht für das Leben von mir herausfinden, was falsch ist. Ich habe das Tutorial hier gefolgt: http://lazyfoo.net/SDL_tutorials/lesson01/windows/mingw/index.phpSDL nicht für MinGW gefunden

Ich kann nicht g ++ kompilieren. Ich erhalte den folgenden Fehler:

testgame.c:1:21: fatal error: SDL/SDL.h: No such file or directory 
#include "SDL/SDL.h" 

Hier ist der Code in der Datei:

#include "SDL/SDL.h" 

int main(int argc, char* args[]) 
{ 
    //Start SDL 
    SDL_Init(SDL_INIT_EVERYTHING); 

    //Quit SDL 
    SDL_Quit(); 

    return 0;  
} 

Verzeichnisse:

C:\MinGW\include\ - Dies ist, wo ich die SDL-Ordner mit * .h Dateien platziert

C:\MinGW\lib\ - Hier habe ich alle Lib-Dateien für SDL

platziert

Ich habe auch die SDL.dll in meinem Datei/ausführbaren Verzeichnis abgelegt.

Ich verwende folgendes zu kompilieren:

g++ -o testgame.exe testgame.c -lmingw32 -lSDLmain -lSDL 

Ich habe keine Ahnung, was ich falsch machen konnte. Ich habe überall gesucht und nichts hat bisher funktioniert. Bitte helfen Sie!

Danke, Travis

Update:

die umfassen Ändern Anweisung:

#include "C:/MinGW/include/SDL/SDL.h" 

Fixes der anfängliche Fehler, aber jetzt erhalte ich:

C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lSDLmain 
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lSDL 
collect2.exe: error: ld returned 1 exit status 

@cat Empfohlene Folgendes:

g++ -o testgame.exe testgame.c -lmingw32 -L.SDLmain -lSDL 

jedoch zurück dies diesen Fehler:

C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lSDL 

@vonaka Empfehlung:

g++ -o testgame.exe testgame.c -lmingw32 -LC:/MinGW/lib/ 

Dies ist jedoch zurück mehr Fehler.

+0

Versuchen Sie, ein -L hinzuzufügen. (Großbuchstaben L Punkt) vor Ihrem -lSDLmain – cup

+0

Beachten Sie, dass SDL1 * alt * ist. Sie sollten stattdessen SDL2 lernen. – HolyBlackCat

+0

http://lazyfoo.net/tutorials/SDL/index.php – HolyBlackCat

Antwort

0

Ich habe herausgefunden, wie Sie dieses Problem beheben können. Ich habe alle relevanten SDL- und/oder SDL2-Dateien in einen separaten Ordner in C: \ mingw_dev_lib gestellt. Dann erklärte ich ausdrücklich die Pfade zum Ordner lib und die Include-Ordner in diesem neuen Verzeichnis mit dem folgenden:

gcc testgame.c -IC:\mingw_dev_lib\include\SDL2 -LC:\mingw_dev_lib\lib -w -Wl,-subsystem,windows -lmingw32 -lSDL2main -lSDL2 -o testgame.exe 

Die Zusammenstellung war erfolgreich nach diesen Schritten. Es ist jedoch merkwürdig, dass es beim Versuch, auf diese Dateien und die standardmäßigen C: \ MinGW-Verzeichnisse zuzugreifen, nicht kompiliert würde.