2016-08-01 30 views
0

Ich arbeite an einem Spiel und habe kürzlich den Übergang von SDL 1.2 zu SDL2 gemacht (irgendwie spät zur Party, aber heh). Trotz fehlender Kompilierungs- oder Verknüpfungsfehler stürzte das Programm beim Start ab, als es hieß: "Die Anwendung konnte nicht ordnungsgemäß gestartet werden". Zuerst dachte ich, es sei meine eigene Schuld, aber dann wurde ich misstrauisch und stellte einen schnellen SDL2-Test zusammen, der nach dem fehlerfreien Kompilieren tatsächlich beim Start abstürzte.Die Verwendung von SDL2 mit g ++/MinGW stürzt beim Start ab

Hier ist der Code, den ich für dieses Beispiel verwendet haben (man kann es einfach nicht machen):

#include <SDL.h> 

int main(int argc, char *argv[]) 
{ 
    return 0; 
} 

Und die Kompilation Linie ist g++ main.cpp -ISDL2-2.0.4\x86_64-w64-mingw32\include\SDL2 -LSDL2-2.0.4\x86_64-w64-mingw32\lib -lmingw32 -lSDL2main -lSDL2 -otest.exe -fpermissive -std=c++11 -Wno-write-strings -Wno-overflow

Für was es wert ist:

> g++ --version 
g++ (x86_64-win32-seh, Built by MinGW-W64 project) 6.1.0 
Copyright (C) 2016 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

Ich verwende MinGW-w64 unter Windows, wie Sie sehen können. Das Betriebssystem ist Windows 8.1.

Antwort

0

Welp. Ich habe tatsächlich die falsche SDL2.dll verwendet. Ich fühle mich jetzt dumm.