Problema empezando con SDL[RESUELTO]

Iniciado por Komodo, 14 Septiembre 2010, 13:09 PM

0 Miembros y 1 Visitante están viendo este tema.

Komodo

#include "stdlib.h"
#include "SDL/SDL.h"

int main(int argc, char *argv[])
{
   SDL_Surface *screen;    //Este puntero referenciara al backbuffer
   SDL_Surface *image;    //Este puntero referenciara el bmp
   SDL_Surface *temp;    //Este puntero va a hacer referencia temporal al bmp
   SDL_Rect src, dest;    //Fuente y destino de el blit

   //Primero se inicializan variables y se comprueba si fue exitoso
   if (SDL_Init(SDL_INIT_VIDEO) != 0) {
       printf("No se pudo inicializar SDL: %s\n", SDL_GetError());
       return 1;
   }

   //
   atexit(SDL_Quit);

   //Inicializando variables de video , profundidad y doble buffer , ademas de pantalla completa
   screen = SDL_SetVideoMode(640, 480, 16, SDL_DOUBLEBUF | SDL_FULLSCREEN);
   if (screen == NULL) {
       printf("No se pudo cambiar modo de video: %s\n", SDL_GetError());
       return 1;
   }

   //Cargar el bmp a una intefaz temporal y comprobar si funciono
   temp = SDL_LoadBMP("image.bmp");
   if (temp == NULL) {
       printf("No se pudo cargar bmp: %s\n", SDL_GetError());
       return 1;
   }

   //Transformar interfaz a la forma adecuada
   image = SDL_DisplayFormat(temp);

   //Liberar interfaz temporal
   SDL_FreeSurface(temp);

   //Construyendo el rectangulo...
   src.x = 0;
   src.y = 0;
   src.w = image->w;    //usar image->w para mostrar el ancho de la imagen
   src.h = image->h;    //usar image->h para mostrar el largo

   //Construyendo el rectangulo.. para la imagen
   dest.x = 100;        //Mostrar la imagen en las coordenadas (100,100)
   dest.y = 100;
   dest.w = image->w;    //Asegurarse que el largo esta bien
   dest.h = image->h;

   //Pasar la imgen a backbuffer
   SDL_BlitSurface(image, &src, screen, &dest);

   //cambiar el backbuffer como principal
   SDL_Flip(screen);

   //Esperar 2.5 segundos para ver la imagen
   SDL_Delay(2500);

   //Liberar intefaz
   SDL_FreeSurface(image);

   //Terminar felizmente xD
   return 0;
}

El caso es que instale en DevC++ con el DevPack SDL y ahora me saca errores, esto claro esta, porque necesito poner algo en el linker

¿Alguien me ayuda?


Littlehorse

Postea los errores así lo vemos mas en detalle.
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

Komodo

Thanks LH resuelto ;)

Todo son las dronjas! jjajja


Littlehorse

Me alegro. Si puedes, agrega al primer post los pasos que seguiste, así otros usuarios con la misma duda tienen un punto de referencia.

Saludos
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

Komodo

Por supuesto, LH(me recuerda siempre que pongo esto a una web en la cual estaba antes ;D )

Bueno, primero yo decidi usar esto con Dev-C++ no es mi IDE preferida ni mucho menos, pero tengo conio2, conio, allegro, openGL y SDL ahi entonces decidi ponerme otro DevPack, en esta ocasión fue el de SDL, el cual podeis encontrarlo, aquí http://devpaks.org/details.php?devpak=12

Lo instalais y luego abris DevC++ y creais un nuevo proyecto y buscais hasta encontrar SDL Project le dais creais el main.c y tal y pegais el code de arriba si os funciona todo bien, podeis llorar de alegría :D