je suis en train d'écrire un programme utilisant la SDL, un truc tout bête parce que je suis en train d'apprendre la SDL
voici le programme :
#include <SDL/sdl.h>
#include <stdlib.h>
#include <stdio.h>
SDL_Surface *screen, *alp;
SDL_Rect thealp;
SDL_Event event;
int colle=0;
int noquit;
void events();
void chargebmp();
void souris(SDL_MouseButtonEvent * mouse);
int main(int argc, char *argv[])
{
SDL_Init(SDL_INIT_VIDEO);
atexit(SDL_Quit);
SDL_WM_SetCaption("Programme tout bête",NULL);
SDL_SetVideoMode(500,500,16,SDL_SWSURFACE);
chargebmp();
noquit=0;
while(!noquit) {
draw();
events();
}
SDL_Quit();
}
void chargebmp() {
alp=SDL_LoadBMP("TheAlp.bmp");
}
void draw()
{
SDL_FillRect(screen,NULL,0);
thealp.x=0;
thealp.y=0;
thealp.w=250;
thealp.h=250;
if(colle=1) {
SDL_BlitSurface(alp,NULL,screen,&thealp);
}
SDL_Flip(screen);
}
void events()
{
while(SDL_PollEvent(&event))
{
switch(event.type)
{
case SDL_QUIT:
noquit=1;
break;
case SDL_MOUSEBUTTONDOWN:
souris(&event.button);
default:break;
}
}
}
void souris(SDL_MouseButtonEvent * mouse) {
int mx=mouse->x;
int my=mouse->y;
if(mx>0 && mx<250 && my>0 && my<250 && colle==0)
{
colle=1;
}
}
et voici l'erreur à la compilation :
C:\Alp\c++\SDL\ProgBete.cpp
[Warning] In function `int SDL_main(int, char **)':
27 C:\Alp\c++\SDL\ProgBete.cpp
implicit declaration of function `int draw(...)'
C:\Alp\c++\SDL\Makefile.win
[Build Error] [ProgBete.o] Error 1
J'utilise Dev c++ 4.9.7.0, dev c++ avec le compilateur gcc
Si quelqu'un peut m'aider(avant je n'avais pas d'erreur mais ma fenetre de restait pas, donc en fait j'aimerai que mon programme fonctionne normalement c'est à dire quand on clique une image apparait puis la fenetre se ferme ensuite)
si quelqu'un arrive à faire fonctionner,ce serait cool parce que je sui au bord du suicide
merci d'avance
Alpacha