j'ai resolu les erreur de linker
en metant dans projet ,opsion de projet, parametre , -lmingw32 -lSDLmain -lSDL
voici mon programme
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL, *caisse = NULL;
SDL_Rect positioncaisse;
SDL_Event event;
int continuer = 1;
SDL_Init(SDL_INIT_VIDEO);
ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE| SDL_DOUBLEBUF);
SDL_WM_SetCaption("Gestion des évènements en SDL", NULL);
/* Chargement de Zozor */
caisse = SDL_LoadBMP("caisse.bmp");
SDL_SetColorKey(caisse, SDL_SRCCOLORKEY, SDL_MapRGB(caisse->format, 0, 0, 255));
/* On centre Zozor à l'écran */
positioncaisse.x = ecran->w / 2 - caisse->w / 2;
positioncaisse.y = ecran->h / 2 - caisse->h / 2;
SDL_EnableKeyRepeat(10, 10);
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_UP: // Flèche haut
positioncaisse.y--;
break;
case SDLK_DOWN: // Flèche bas
positioncaisse.y++;
break;
case SDLK_RIGHT: // Flèche droite
positioncaisse.x++;
break;
case SDLK_LEFT: // Flèche gauche
positioncaisse.x--;
break;
}
break;
}
SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255)); /* On efface l'écran */
SDL_BlitSurface(caisse, NULL, ecran, &positioncaisse); /* On place zozor à sa nouvelle position */
SDL_Flip(ecran); /* On met à jour l'affichage */
}
SDL_FreeSurface(caisse);
SDL_Quit();
return EXIT_SUCCESS;
}
le probleme est qu'il demare et s'arrete aussitot
je sais pas quoi faire