lmarin Posted May 31, 2006 Share Posted May 31, 2006 Bonjour , Je suis entrain de me tester au C\C++, histoire de voir les différences avec Java ( que j'adore ). Bref, j'ai trouver un trés bon tuto dans lequel on nous explique qu'on peut loader une image PNG dans une fenetre SDl avec la librairie SDL_image.h J'ai bien inclu cette librairie, et pourtant j'ai cette erreur a la compliation ( je passe par un makefile ) : caisse.o: In function `main': caisse.c:(.text+0xaf): undefined reference to `IMG_Load' collect2: ld a retourné 1 code d'état d'exécution make: *** [caisse] Erreur 1 Voici le code source : /* * Teste d'interfassage graphique */ #include <stdio.h> #include <stdlib.h> #include <SDL/SDL.h> #include <SDL/SDL_image.h> void pause(); int main(int argc, char *argv[] ) { SDL_Surface *ecran = NULL , *imageFond = NULL; SDL_Rect position; if (SDL_Init(SDL_INIT_VIDEO) == 1 ) { fprintf(stderr,"Erreur d'initialisation de la SDL : %s\n",SDL_GetError()); exit(EXIT_FAILURE); } // SDL_WM_SetIcon(SDL_LoadBMP("vidow.bmp"),NULL); // Ouverture de la fenetre ! ecran = SDL_SetVideoMode(640,480,32,SDL_HWSURFACE); SDL_WM_SetCaption("Teste d'interface graphique en C",NULL); SDL_FillRect(ecran,NULL,SDL_MapRGB(ecran->format,10,34,69)); position.x=0; position.y=0; imageFond = IMG_Load("Wall.png"); SDL_BlitSurface(imageFond,NULL,ecran,&position); SDL_Flip(ecran); pause(); SDL_FreeSurface(imageFond); SDL_Quit(); return 0; } void pause(){ int continuer = 1; SDL_Event event; while(continuer) { SDL_WaitEvent(&event); switch(event.type) { case SDL_QUIT: continuer = 0; } } } Une idée pour me débloquer? Merci Link to comment Share on other sites More sharing options...
astero-H Posted May 31, 2006 Share Posted May 31, 2006 Ben d'après le message du compilateur t'as pas inclu la lib qui contient IMG_Load(). Doit surement y avoir une lib style "sdl-image" à inclure en plus de "sdl" étant donné qu'il trouve bien SDL_Init(). Ya quoi dans ton makefile ? Link to comment Share on other sites More sharing options...
lorinc Posted May 31, 2006 Share Posted May 31, 2006 il n'y a pas carrément un outil genre sdl-config qui te renvoit les bon flag à passer à gcc ? Link to comment Share on other sites More sharing options...
theocrite Posted May 31, 2006 Share Posted May 31, 2006 +1 pour le flag en -lmalib ou pour le LD_LIBRARY_PATH à setter correctement avant la compil (ou le /etc/ld.so.conf pour faire propre) Link to comment Share on other sites More sharing options...
lmarin Posted June 1, 2006 Author Share Posted June 1, 2006 Pour résoudre mon probleme, j'ai ajouter un paramétre pour le linker ( -lSDL_image ) et le parametre donner par sdl-config cflags pour le compilateur. Et ca marche Nikel ! Merci tous :) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.