2016-07-21 15 views
0

Mein Problem existiert mit dem folgenden Code, der außerhalb von Visual Studio kompiliert und ausgeführt wird;Visual Studio und SDL2-Fenster Erstellung schlägt fehl

#include "SDL.h" 
#include <stdio.h> 

int main(int argc, char* argv[]) { 
    if(SDL_Init(SDL_INIT_VIDEO) != 0) 
     printf("%s", SDL_GetError()); 

    SDL_Window* window = SDL_CreateWindow("Test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN); 

    SDL_DestroyWindow(window); 
    SDL_Quit(); 

    return 0;  

} 

Dieses Problem kommt von einem viel größeren Programm, aber ist genau das gleiche Problem mit diesem einfachen Beispiel. Das Programm läuft bis zur Deklaration von window, wenn das Programm nicht mehr auf Windows reagiert und abstürzt. Alle meine bisherigen SDL-Projekte können nicht mehr im Visual Studio ausgeführt werden, funktionieren aber auch außerhalb der IDE problemlos.

Ich habe gerade alle Benutzereinstellungen auf Visual Studio 2015 Update 2 neu installiert und zurückgesetzt. Ich verwende aktuelle Bibliotheksdateien von SDL 2.0.4, von mir selbst zusammengestellt. Ich baue die Konfiguration für Debug x86.

EDIT: ich die Empfindlichkeit des Debuggers in VS uped, und ich habe diese Ausnahme, wenn das Fenster zu schaffen,

Execption thrown at 0x101EB0B9 (swwxijqt.dll) in SDL_Text.exe: 0xC0000096: 
Privileged instruction. 
+0

Haben Sie versucht, den großartigen Debugger von Visual Studio zu verwenden, um herauszufinden, warum er abstürzt? – immibis

+0

Ich kann den Debugger in jeder Codezeile vor 'window' verwenden, aber sobald ich auf 'continue' drücke, stürzt er ab und gibt keine Ausnahme weiter. – Marc

+0

Aber dieser Kommentar ließ mich an die Empfindlichkeit der Haltepunkte in VS denken, also habe ich alle Breakpoints aktiviert, die Ausnahme, die ich bekam, wird in den Hauptpost editiert. – Marc

Antwort

0

Ich habe keine Ahnung, was passiert ist, oder wie es zu beheben, aber Ich habe die eine Sache getan, die garantiert ein Problem behebt, das Sie nicht kontrollieren. Neuinstallation von Windows behebt mein Problem. Etwas musste mit dieser DLL schlecht gewesen sein, und es gab keinen anderen Weg.

Verwandte Themen