[C] SDL_Image.h ect... problème de compilation il aime po mes images..

SDL_Image.h ect... problème de compilation il aime po mes images.. [C] - C - Programmation

Marsh Posté le 13-06-2006 à 20:56:53    

:hello:
 
j'ai installé la libary SDL_Image, le .h le .lib, les .dll et les images dans mon dossier mais la compilation plante
 
mais je sais pas pourquoi...
 

Code :
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <SDL/SDL.h>
  4. #include <SDL/SDL_image.h>
  5. void pause();
  6. int main(int argc, char *argv[])
  7. {
  8.     SDL_Surface *ecran = NULL, *imageDeFond = NULL, *sapin = NULL;
  9.     SDL_Rect positionFond, positionSapin;
  10.     positionFond.x = 0;
  11.     positionFond.y = 0;
  12.     positionSapin.x = 500;
  13.     positionSapin.y = 260;
  14.     SDL_Init(SDL_INIT_VIDEO);
  15.     SDL_WM_SetIcon(IMG_Load("sdl_icone.bmp" ), NULL);
  16.     ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE);
  17.     SDL_WM_SetCaption("Chargement d'images en SDL", NULL);
  18.     imageDeFond = IMG_Load("lac_en_montagne.bmp" );
  19.     SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);
  20.     sapin = IMG_Load("sapin.png" );
  21.     SDL_BlitSurface(sapin, NULL, ecran, &positionSapin);
  22.     SDL_Flip(ecran);
  23.     pause();
  24.     SDL_FreeSurface(imageDeFond);
  25.     SDL_FreeSurface(sapin);
  26.     SDL_Quit();
  27.     return EXIT_SUCCESS;
  28. }
  29. void pause()
  30. {
  31.     int continuer = 1;
  32.     SDL_Event event;
  33.     while (continuer)
  34.     {
  35.         SDL_WaitEvent(&event);
  36.         switch(event.type)
  37.         {
  38.             case SDL_QUIT:
  39.                 continuer = 0;
  40.         }
  41.     }
  42. }


 
merki de vos réponses  [:marcelpoire]  

Reply

Marsh Posté le 13-06-2006 à 20:56:53   

Reply

Marsh Posté le 13-06-2006 à 22:35:19    

Euh, il faudrait que tu nous dises ce que le compilateur t'affiche comme erreur de compilation mais à la vue de ton code, ça me parait évident car tu le sorts d'où IMG_Load ?
Une piste :
 

Code :
  1. SDL_Surface *IMG_Load(const char *file)
  2. {
  3.     SDL_RWops *src = SDL_RWFromFile(file, "rb" );
  4.     char *ext = strrchr(file, '.');
  5.     if(ext) {
  6.         ext++;
  7.     }
  8.     if(!src) {
  9.         return NULL;
  10.     }
  11.     return IMG_LoadTyped_RW(src, 1, ext);
  12. }

Reply

Marsh Posté le 14-06-2006 à 12:44:38    

Il nous faudrait effectivement les erreurs de compilation que tu obtiens.  
Pour information, ton programme compile chez moi. Je pense que ton soucis provient d'une mauvaise utilisation de ton environnement de programmation. Donne nous des détails !
 
D'autres remarques :

Do I #include <SDL.h> or <SDL/SDL.h>?
The most portable way to include SDL headers is to use quotes around the header name:
#include "SDL.h"


cf http://www.libsdl.org/faq.php?acti [...] egory=2#19
 
Vérifie systématiquement les valeurs de retour de fonctions SDL ! SDL_Init renvoit -1 si il y a un problème, SDL_BlitSurface -1 ou -2... Idem pour SDL_SetVideoMode, IMG_Load qui renvoient NULL si il y a un problème.
Si tu détectes un problèmes, tu peux en savoir plus en affichant SDL_GetError() !
 
Bon courage, tiens nous au courant si tu as des questions précises !
 
KarLKoX > Je comprends pas ta remarque à propos de IMG_Load, cette fonction est fournie par SDL_image. Elle est utilisée correctement il me semble.


Message édité par Evadream -jbd- le 14-06-2006 à 12:47:18
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed