probleme compilation utilisation de sdl

probleme compilation utilisation de sdl - C++ - Programmation

Marsh Posté le 08-10-2005 à 13:54:10    

bonjour,  
 
j'utilise dev-c++ comme compilateur  
 
il y a peu de temp j'ai decouvert sdl  
( http://perso.numericable.fr/~fvirt [...] index.html )  
 
sa ma bien interresse  
 
j'ai installe la librairie comme detaile sur le site mais lors de la compilation j'ai plein d'erreurs  
 
  [Linker error] undefined reference to `SDL_Init'  
 
et dans les logs compilateurs  
 
main.o(.text+0xe):main.cpp: undefined reference to `SDL_Init'
main.o(.text+0x32):main.cpp: undefined reference to `SDL_SetVideoMode'
main.o(.text+0x43):main.cpp: undefined reference to `SDL_ShowCursor'
main.o(.text+0x58):main.cpp: undefined reference to `SDL_PollEvent'
main.o(.text+0x8f):main.cpp: undefined reference to `SDL_RWFromFile'
main.o(.text+0x9f):main.cpp: undefined reference to `SDL_LoadBMP_RW'
main.o(.text+0xe1):main.cpp: undefined reference to `SDL_UpperBlit'
main.o(.text+0xee):main.cpp: undefined reference to `SDL_Flip'
main.o(.text+0xff):main.cpp: undefined reference to `SDL_ShowCursor'
main.o(.text+0x104):main.cpp: undefined reference to `SDL_Quit'
 
 
pour plus d'infos sur l'installation je decompresse le rep sdl dans le repertoire include
et les autres fichiers dans lib  
 
 
voici mon code ( dispo sur le site donne plus haut )  
 

Code :
  1. #include <SDL/SDL.h>
  2. SDL_Surface* screen;  // l'ecran principale
  3. SDL_Surface* firstscreen;   // tampon temporaire
  4. SDL_Event event;   // gestion d'evenement
  5. void init_SDL()   // initialise SDL
  6. {
  7.     SDL_Init(SDL_INIT_VIDEO);  // preapare SDL
  8.     screen = SDL_SetVideoMode(1024, 768, 32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN);  // mode graphique
  9.     SDL_ShowCursor(0);   // eneleve la souris
  10. }
  11. void waitkey()   // attend qu'on appuie sur RETURN
  12. {
  13. while(1)   // boucle
  14. {
  15.  while(SDL_PollEvent(&event))  // aquisition d'evenement
  16.  {
  17.   if (event.type == SDL_KEYDOWN)  // on appuie sur une touche ?
  18.   {
  19.    if (event.key.keysym.sym == SDLK_RETURN) return// c'est "RETURN" ?
  20.   }
  21.  }
  22. }
  23. }
  24. int main(int argc ,char **argv)
  25. {
  26. SDL_Rect rect1;  // structure rectangle
  27.     init_SDL();   // initialise (plus haut)
  28.     firstscreen = SDL_LoadBMP("image.bmp" ); // charge l'image
  29.     // on dessine
  30.     rect1.x = 0;
  31.     rect1.y = 0;
  32.     rect1.w = 1024;  // défini le rectangle
  33.     rect1.h = 768;
  34.     SDL_BlitSurface(firstscreen,NULL,screen,&rect1); // colle l'image sur l'écran, NULL car on affiche TOUTE l'image
  35.     SDL_Flip(screen);  // affiche la prochaine frame
  36. waitkey();    // attends qu'on appuie sur Return (plus haut)
  37. SDL_ShowCursor(1);  // reactive la souris
  38.     SDL_Quit();    // quitte SDL
  39. return 0;    // quitte le programme
  40. }


 
merci d'avance de votre aide  
 

Reply

Marsh Posté le 08-10-2005 à 13:54:10   

Reply

Marsh Posté le 08-10-2005 à 14:02:32    

Je vais me faire taper dessus car ce n'est peut être pas la facon parfaite de le faire, mais il me semble qu'il faut indiquer au compilateur quelles sont les librairies à linker.
Sous dev-C++
menu "projet"->"options du projet"->onglet "paramètres"
dans editeur de lien il faut rajouter les librairies de la sdl sdl.lib et sdlmain.lib et eventuellement tout autre librairie à laquelle tu peux faire appel.


Message édité par chewif le 08-10-2005 à 14:04:01
Reply

Marsh Posté le 08-10-2005 à 14:04:57    

ok j'essaye merci

Reply

Marsh Posté le 08-10-2005 à 14:21:51    

sa marche pas  
 
je pense que sa vient du reglage du compilateur  
 
j'ai lu l'aide sur le site mais sa correspont pas a mon dev cpp

Reply

Sujets relatifs:

Leave a Replay

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