Bonjour,
*)Présentation:
Je sais que cette question à déjà été posée et j'ai déjà fait de multiples recherches sur le Web.Mais aucune des réponses apportées ne me convient.En effet en général c'est une erreur ,un oubli:de"linker" ,de copier les ".dll" ds son projet...etc
J'ai aussi lu les tutos sur "développez.com",mais 2 choses:
1-Ils proposent 2 techniques différentes
2-ils st un peu ancien.
J'ai pourtant bien suivi le protocole ,j'ai mm réinstallé "codeBlock" et je passe de multiples essais désespérés...
Voici comment j'ai procédé:
1-télécharger "SDL_Image".
2-copiéle fichier ".h" ds "MinGW/include".
3-Copier les fichiers ".dll" mon projet.
4-linker avec les fichier ".lib" se situant ds "MinGw/lib"
*)Problème:
Quand je compile j'ai cette erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part "undefined reference to IMG_Load"
*)Mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 #include <stdio.h> #include <stdlib.h> #include <SDL/SDL.h> #include <SDL_ttf.h> #include <SDL_image.h> void pause(); int fenetreAcceuil(); int fenetreAcceuil(){ //-----On charge la Sdl----- if (SDL_Init(SDL_INIT_VIDEO) == -1) {// Démarrage de la SDL. Si erreur : fprintf(stderr, "Erreur d'initialisation de la SDL : %s\n", SDL_GetError()); // Écriture de l'erreur exit(EXIT_FAILURE); // On quitte le programme } SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); SDL_WM_SetCaption("Acceuil du Jeu", NULL); //-----SDL:Aspect visuel de la fenetre----- //****POUR CHARGER UNE IMG**** //1-On crée la surface sur laquelle on veut travailler. //2-On attribut à cette surface une img défini,en chargeant l'img concernee //3-On "colle" cette surface ds la fenetre selon les paramétres souhaités SDL_Surface *surfacePrincipale=NULL,*imgDeFond=NULL; SDL_Rect positionFond; positionFond.x=0;//On determide la position de l'imd de fond positionFond.y=0; imgDeFond=IMG_Load("img/fondAcceuil.jpg"); SDL_BlitSurface(imgDeFond,NULL,surfacePrincipale,&positionFond); SDL_Flip(surfacePrincipale);//On actualise l'écran pour que l'img puisse apparaitre. pause(); SDL_FreeSurface(imgDeFond); 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; } } }
*)Précisions:
j'ai 2fichiers sources un main est celui la cependant ou que je copie colle ce code il ne fonctionne pas (ds le "main" ou dans celui la).
Merci de votre aide.
Partager