Problème de compilation avec un programme simple utilisant la SDL

Résolu
Alpacha Messages postés 95 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 20 mars 2006 - 26 juil. 2004 à 14:50
Alpacha Messages postés 95 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 20 mars 2006 - 27 juil. 2004 à 18:34
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

9 réponses

essirc Messages postés 48 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 26 juillet 2005 3
27 juil. 2004 à 11:22
A vu de nez, un simple ajout du prototype de tes fonctions avant de déclarer ton main() devrait règler ton problème.

#include "lesincludes"
...

void draw();
void eventes();
....

int main(int argc, char *argv[])
{
....
draw();
eventes();
}
3
Alpacha Messages postés 95 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 20 mars 2006
26 juil. 2004 à 14:53
j'ai mal expliqué le but de mon programme :
une fenetre noire, lorque l'on clique dessus, une image apparait(ici TheAlp.bmp) et je n'ai pas mis le SDL_Delay(2000) pour voir l'image pdt 2 secondes et que la fenetre se ferme toute seule ensuite donc vous pourrez le rajouter pour tester
enfin si vous voulez m'aider
voila tout
bonne chance :p
0
Alpacha Messages postés 95 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 20 mars 2006
27 juil. 2004 à 12:18
oui je l'ai remarqué après et j'ai de toute manière régler le pb, le programme fonctionne parfaitement mais je tiens a féliciter ton attention :)
merci quand même
bonne journée a+
0
essirc Messages postés 48 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 26 juillet 2005 3
27 juil. 2004 à 13:18
Y a pas de quoi !

Bonne journée à toi aussi. Et que la SDL soit avec toi :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alpacha Messages postés 95 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 20 mars 2006
27 juil. 2004 à 13:22
merci mais je vais bouleverser ta vie : je suis ton père, viens du coté Hard-Programeur de la force
bon je vais m'arréter c'est pas bon le surmenage :(
tu progr quoi avec la SDL toi?
0
essirc Messages postés 48 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 26 juillet 2005 3
27 juil. 2004 à 17:27
Et bien pour l'instant je programme pas grand chose :), je me contente de suivre quelques tutoriaux que j'ai trouvé sur le net. Mais à terme je compte développer (ou porter) quelques jeux sur PocketPC.
0
Alpacha Messages postés 95 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 20 mars 2006
27 juil. 2004 à 17:33
ben si tu trouves comment développer pour pocket pc dis le moi ca m'intéresse d'ailleurs on pourrait meme dev ensemble ^^
tu trouves des tutos satisfaisants toi?
voila a+
0
essirc Messages postés 48 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 26 juillet 2005 3
27 juil. 2004 à 18:22
C'est bon j'ai tout ce qu'il faut pour developper sur PocketPC, j'ai recompilé la DLL de SDL et ca marche impeccablement. Sinon j'ai trouvé des tutoriaux interessants sur SDL mais je ne suis pas sur qu'ils soient en français (et je n'ai pas l'adresse sous la main). Ceci dit je pourrai les traduire au besoin. Si le développement sur PocketPc t'interesse je ne vois aucun inconvénient à ce que nous développions ensemble. Pour cela n'hésites pas à me contacter par messages perso ou par mail.

essirc.
0
Alpacha Messages postés 95 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 20 mars 2006
27 juil. 2004 à 18:34
Pas de pb, t'as msn? si oui donne l'adresse sinon donne le mail please :)
arf tu m'expliquera pour le pocket PC
t'as recompilé de facon a pouvoir utiliser la sdl sur pocket pc?
Alp
0
Rejoignez-nous