Salut,
J´ai un problème, je déclare toujour une variable de type SDL_Event et SDL_Surface quand j´utilise la SDL, donc j´ai fait un source à part qui initialise ses variables et la SDL. Mais quand je déclare :
extern SDL_Surface *screen;
extern SDL_Event event;
Dev-C++ me mets les erreurs suivantes(comment les régler??):
[Linker error] undefined reference to `screen´
[Linker error] undefined reference to `screen´
[Linker error] undefined reference to `screen´
[Linker error] undefined reference to `event´
[Linker error] undefined reference to `event´
C:\Documents and
Settings\Léon\Bureau\tuto\projets\snake\Makefile.w
in
[Build Error] [Snake.exe] Error 1
Voici la source main:
- include " InitSDL.h"
int main(int argc, char *argv[])
{
init_sdl(800,600,true);
while(1)
{
SDL_PollEvent(&);
if(event.type==SDL_KEYDOWN) break;
}
return 0;
}
Voici la souce InitSDL:
- include < iostream>
- include < stdlib.h>
/ *
* INitialise SDL t SDL_ttf si on declare une constante SDL_TTFF *
#define SDL_SDL_SDL
#include < SDL\SDL.h>
extern SDL_Surface *screen; / /Met les variable que j´utilise
extern SDL_Event event;
void init_sdl(int with,int height, bool in)//initialise la sdl
{
if(SDL_Init(SDL_INIT_VIDEO) ==-1)
{
printf("%s" , SDL_GetError());
exit(1);
}
SDL_ShowCursor(0);
atexit(SDL_Quit);
if ( in)
screen = SDL_SetVideoMode(with,height, 32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN); / / mode graphique
if ( !in)
screen = SDL_SetVideoMode(with,height, 32,SDL_HWSURFACE|SDL_DOUBLEBUF); / / mode graphique
if(screen==NULL)
{
printf("Can´t set screen %d", SDL_GetError());
}
}
#ifdef SDL_TTFF
#define SDL_TTFF
#include < SDL\SDL_ttf.h>
if ( TTF_Init() < 0)
{
fprintf(stderr, " Impossible d´initialiser SDL_TTF: %s\n",SDL_GetError());
}
#endif
- endif