So I’m making this program in SDL to just render a single window and it’s not working IDK why. It compiles well no errors or anything and then when I try to run it nothing happens at all. No text appears nor a window. I tried to run my own code but it didn’t work so I went to try and run the code off the website and that didn’t work either.
CODE:
/This source code copyrighted by Lazy Foo’ Productions 2004-2024 and may not be redistributed without written permission./
//Using SDL and standard IO #include <SDL.h> #include <stdio.h> #include <stdbool.h>
//Screen dimension constants const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480;
int main( int argc, char* args[] ) { //The window we’ll be rendering to SDL_Window* window = NULL;
//The surface contained by the window
SDL_Surface* screenSurface = NULL;
//Initialize SDL
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
{
printf( "SDL could not initialize! SDL_Error: %s\n", SDL_GetError() );
}
else
{
//Create window
window = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN );
if( window == NULL )
{
printf( "Window could not be created! SDL_Error: %s\n", SDL_GetError() );
}
else
{
//Get window surface
screenSurface = SDL_GetWindowSurface( window );
//Fill the surface white
SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 0xFF, 0xFF, 0xFF ) );
//Update the surface
SDL_UpdateWindowSurface( window );
//Hack to get window to stay up
SDL_Event e; bool quit = false; while( quit == false ){ while( SDL_PollEvent( &e ) ){ if( e.type == SDL_QUIT ) quit = true; } }
}
}
//Destroy window
SDL_DestroyWindow( window );
//Quit SDL subsystems
SDL_Quit();
return 0;
}
What output does the program produce? Did you try opening it from a powershell/terminal to see stdout and stderr?
When working with SDL it is useful to follow the information provided by the creator of the tool in official wikis.
Alternatively you can ask the foo productions why is their tutorial code possibly broken.