2016-06-16 7 views
-1

Ich lerne gerade SDL und habe die Bibliotheken heruntergeladen und hinzugefügt, um meine Linker, etc. mit MinGW und ich versuche, ein einfaches Demo-Programm zu starten, um ein Fenster anzuzeigen, und es wird nicht angezeigt überhaupt auf. Ich bekomme überhaupt keine Fehler, das Fenster erscheint einfach nicht.SDL Fenster überhaupt nicht angezeigt

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

int main(int argc, char* argv[]) { 

SDL_Window *window;     // Declare a pointer 

SDL_Init(SDL_INIT_VIDEO);    // Initialize SDL2 

// Create an application window with the following settings: 
window = SDL_CreateWindow(
    "An SDL2 window",     // window title 
    SDL_WINDOWPOS_UNDEFINED,   // initial x position 
    SDL_WINDOWPOS_UNDEFINED,   // initial y position 
    640,        // width, in pixels 
    480,        // height, in pixels 
    SDL_WINDOW_OPENGL     // flags - see below 
); 

// Check that the window was successfully created 
if (window == NULL) { 
    // In the case that the window could not be made... 
    printf("Could not create window: %s\n", SDL_GetError()); 
    return 1; 
} 

// The window is open: could enter program loop here (see SDL_PollEvent()) 

SDL_Delay(3000); // Pause execution for 3000 milliseconds, for example 

// Close and destroy the window 
SDL_DestroyWindow(window); 

// Clean up 
SDL_Quit(); 
return 0; 

}

+2

Nun ist eigentlich diese Arbeit für mich völlig in Ordnung – Zouch

Antwort

2

ich dies nur getestet auf Linux und MinGW. Es kann ein Problem mit SDL_Delay sein, das blockiert, bevor das Fenster eine Chance erhält, zu zeigen. Versuchen Sie, eine einfache Hauptschleife hinzuzufügen, um zu sehen, ob sie funktioniert. Dies wird ein leeres Fenster erstellen.

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

int main(int argc, char* argv[]) { 

SDL_Window *window;     // Declare a pointer 

SDL_Init(SDL_INIT_VIDEO);    // Initialize SDL2 

// Create an application window with the following settings: 
window = SDL_CreateWindow(
    "An SDL2 window",     // window title 
    SDL_WINDOWPOS_UNDEFINED,   // initial x position 
    SDL_WINDOWPOS_UNDEFINED,   // initial y position 
    640,        // width, in pixels 
    480,        // height, in pixels 
    SDL_WINDOW_OPENGL     // flags - see below 
); 

// Check that the window was successfully created 
if (window == NULL) { 
    // In the case that the window could not be made... 
    printf("Could not create window: %s\n", SDL_GetError()); 
    return 1; 
} 

// A basic main loop to prevent blocking 
bool is_running = true; 
SDL_Event event; 
while (is_running) { 
    while (SDL_PollEvent(&event)) { 
     if (event.type == SDL_QUIT) { 
      is_running = false; 
     } 
    } 
    SDL_Delay(16); 
} 

// Close and destroy the window 
SDL_DestroyWindow(window); 

// Clean up 
SDL_Quit(); 
return 0; 

} 
+0

ich das gleiche Problem mit Mac OS Sierra _ (10.12.6) hatte _ und die Grundschleife dieses Problem behoben. Vielen Dank! – PantsMagee