Hello everybody!
Im pretty new to SDL, so i follow tutorials from Lazy_foo, they are pretty good.
However, when i try to compile this, gathered from the 2nd tutorial, i got compile errors:
Quote:1>------ Build started: Project: SDLLessons, Configuration: Debug Win32 ------
1>Compiling...
1>main.cpp
1>c:\documents and settings\roy\mijn documenten\visual studio 2005\projects\sdllessons\sdllessons\main.cpp(16) : error C2653: 'stf' : is not a class or namespace name
1>c:\documents and settings\roy\mijn documenten\visual studio 2005\projects\sdllessons\sdllessons\main.cpp(16) : error C2065: 'string' : undeclared identifier
1>c:\documents and settings\roy\mijn documenten\visual studio 2005\projects\sdllessons\sdllessons\main.cpp(17) : error C2146: syntax error : missing ')' before identifier 'filename'
1>Build log was saved at "file://c:\Documents and Settings\roy\Mijn documenten\Visual Studio 2005\Projects\SDLLessons\SDLLessons\Debug\BuildLog.htm"
1>SDLLessons - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I already looked there, but i can't find the problem.
Here is the source for any need:
//The headers
#include "SDL/SDL.h"
#include <string>
using namespace std;
//Attributes of the screen
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
const int SCREEN_BPP = 32;
//Surfaces that will be used
SDL_Surface *message = NULL;
SDL_Surface *background = NULL;
SDL_Surface *screen = NULL;
//Load the images
SDL_Surface *load_image(string filename)
{
//Temporary storage for the image that's loaded
SDL_Surface* loadedImage = NULL;
//The optimized image that will be used
SDL_Surface* optimizedImage = NULL;
//Load the image
loadedImage = SDL_LoadBMP(filename.c_str());
if(loadedImage != NULL)
{
//Optimized Image Creating
optimizedImage = SDL_DisplayFormat(loadedImage);
SDL_FreeSurface(loadedImage);
}
return optimizedImage;
}
void apply_surface(int x, int y, SDL_Surface* source, SDL_Surface* destination)
{
//Make a temporary rectangle to hold the offsets
SDL_Rect offset;
//Give the offsets to the rectangle
offset.x = x;
offset.y = y;
//Blit the surface
SDL_BlitSurface(source, NULL, destination, &offset);
}
int main(int argc, char* args[])
{
//Initialize all SDL subsystems
if(SDL_Init(SDL_INIT_EVERYTHING) == -1)
{
return 1;
}
//Set up the screen
screen = SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, SDL_SWSURFACE );
//If there was in error in setting up the screen
if(screen == NULL)
{
return 1;
}
//Set the window caption
SDL_WM_SetCaption( "Hello World blaat", NULL );
//Load the images
message = load_image("hello_world.bmp");
background = load_image("background.bmp");
//Apply the background to the screen
apply_surface(0, 0, background, screen);
//Apply the message to the screen
apply_surface(180, 140, message, screen);
//Update the screen
if(SDL_Flip(screen) == -1)
{
return 1;
}
//Wait 2 seconds
SDL_Delay(2000);
//Free the surfaces
SDL_FreeSurface(message);
SDL_FreeSurface(background);
//Quit SDL
SDL_Quit();
//Return
return 0;
}
I hope anyone can help
Moffia
[Edited by - Moffia on June 26, 2006 2:00:41 AM]