Hola,estoy empesando en la creacion de juegos con SDL y me pone un codigo para que muestre una nave en la pantalla pero cuando lo pongo a compilar me tira los siguientes Errores:
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Compiling...
Cpp1.cpp
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(10) : error C2065: 'SDL_surface' : undeclared identifier
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(10) : error C2065: 'image' : undeclared identifier
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(10) : error C2065: 'screen' : undeclared identifier
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(10) : error C2100: illegal indirection
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(25) : error C2440: '=' : cannot convert from 'struct SDL_Surface *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(32) : error C2440: '=' : cannot convert from 'struct SDL_Surface *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(43) : error C2227: left of '->w' must point to class/struct/union
c:\documents and settings\cerezo\escritorio\codigo sobre sdl\cpp1.cpp(44) : error C2227: left of '->h' must point to class/struct/union
Error executing cl.exe.
Cpp1.obj - 8 error(s), 0 warning(s)
Y el codigo que coloco es el siguiente:
#include <SDL.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[])
{
SDL_surface *image, *screen;
SDL_Rect dest;
SDL_Event event;
int done=0;
atexit(SDL_Quit);
//Iniciar SDL
if (SDL_Init(SDL_INIT_VIDEO) <0 )
{
printf("No se pudo iniciar SDL:%s\n",SDL_GetError());
exit(1);
}
//Activamos modo grafico
screen=SDL_SetVideoMode(640,480,24,SDL_HWSURFACE);
if (screen==NULL)
{
printf("No se puede inicializar el modo grafico: \n",SDL_GetError());
exit(1);
}
//Cargamos graficos
image=SDL_LoadBMP("nave.bmp");
if (image==NULL)
{
printf("No pude cargar grafico: %s\n",SDL_GetError());
exit(1);
}
//Definimos donde dibujamos el grafico
//y lo copiamos a la pantalla.
dest.x=100;
dest.y=100;
dest.w=image->w;
dest.h=image->h;
SDL_BlitSurface(image, NULL, screen, &dest);
//Mostramos la pantalla
SDL_Flip(screen);
//Liberar superficie
SDL_FreeSurface(image);
//Esperamos la pulsacion de una tecla para salir
while(done==0)
{
while (SDL_PollEvent(&event))
{
if (event.type==SDL_KEYDOWN)
done=1;
}
}
return 0;
}
Estoy usando el Visual C++ 6.0 (es el que utilizo el que hizo el libro) pero no se como hacer para que me funcione alguien me podria decir a que viene esos errores???
PD:yo estudie C++ de C no lo toque ,seria lo mismo poner en la parte de printf (que es de C) poner cerr<<(que es de C++)??
Espero que me puedan ayudar.