Un problème avec SDL langage C

Résolu/Fermé
xtrashild - 27 juin 2009 à 19:09
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 27 juin 2009 à 22:52
Bonjour,
j'ai un problème quand je créer une fenêtre SDL avec la couleur (17, 206, 112) je met le code C suivant :
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>

int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL;

SDL_Init(SDL_INIT_VIDEO);

ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
SDL_WM_SetCaption("Ma super fenêtre SDL !", NULL);

// Coloration de la surface ecran en bleu-vert
SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 17, 206, 112));

SDL_Flip(ecran); /* Mise à jour de l'écran avec sa nouvelle couleur */

pause();

SDL_Quit();

return EXIT_SUCCESS;
}

ça me met l'erreur
-------------- Build: Debug in testsdl ---------------

Compiling: main.cpp
C:\Users\xtrio\Desktop\C\testdl\testsdl\main.cpp: In function `int SDL_main(int, char**)':
C:\Users\xtrio\Desktop\C\testdl\testsdl\main.cpp:19: error: `pause' undeclared (first use this function)
C:\Users\xtrio\Desktop\C\testdl\testsdl\main.cpp:19: error: (Each undeclared identifier is reported only once for each function it appears in.)
Process terminated with status 1 (0 minutes, 0 seconds)
2 errors, 0 warnings
comment résoudre ce problème ? merci
A voir également:

3 réponses

j'ai trouvé la solution :
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>

void pause();

int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL;

SDL_Init(SDL_INIT_VIDEO);

ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
SDL_WM_SetCaption("xtrashild", NULL);

SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 4, 139, 154));

SDL_Flip(ecran);
pause();

SDL_Quit();

return EXIT_SUCCESS;
}


void pause()
{
int continuer = 1;
SDL_Event event;

while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
}
}
}
2
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
27 juin 2009 à 22:52
En fait, t'avais mal copier collé le code donné sur lesiteduzero ^^.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
27 juin 2009 à 19:32
Salut,
Beh le message est clair, la fonction pause() n'est pas déclarée. A toi de te la créer.
Tu peux par exemple utiliser SDL_WaitEvent(...)

Cdlt
0
quand je la déclare la fonction le programme se plante...
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
27 juin 2009 à 20:36
Bah après faut voir comment tu la déclares.
Poste nous ta fonction pause() qu'on puisse dire ce qui ne va pas.
0