Bonjour j'essaye depuis quelques jours d'intégrer la SDL_image 2.0.2 sur code blocks mais sans jamais y arriver, j'ai écumer pas mal de forums, tutoriels et vidéos. Je commence lentement a devenir fou....
le linkage semble toujours raté:
j'ai bien mis le /bin, le /include et le /lib dans les dossiers correspondant de ma SDL2.
Dans le build options ==> linker settings j'ai bien mis:
Code : Sélectionner tout - Visualiser dans une fenêtre à part "undefined reference to 'IMG_Init' "
- libSDL2_image.dll.a
- libSDL2_image.a
Puis dans mon Compiler settings ==> Search directories:
- Pour le compiler :
- C:\Program Files (x86)\CodeBlocks\MinGW\lib
- C:\Program Files (x86)\CodeBlocks\SDL2-2.0.7\x86_64-w64-mingw32\lib
- pour le linker:
- C:\Program Files (x86)\CodeBlocks\MinGW\include
- C:\Program Files (x86)\CodeBlocks\SDL2-2.0.7\x86_64-w64-mingw32\include
Les dossiers/fichiers de SDL_images sont dans le dossier SDL2-2.0.7\x86_64-w64-mingw32 donc normalement je n'ai pas a les relinker manuellement.
Si ça peut aider voici 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 #include <iostream> #include <SDL2/SDL.h> #include <SDL2/SDL_image.h> int main(int argc, char **argv) { if (SDL_Init(SDL_INIT_VIDEO) != 0 ) { std::cout << SDL_GetError() << std::endl; return -1; } /* Création de la fenêtre */ IMG_Init(IMG_INIT_JPG); SDL_Event evenements; SDL_Window* maFenetre(0); bool finFenetre (false); SDL_Surface* image = IMG_Load("titile.JPG"); maFenetre = SDL_CreateWindow("Ma premiere application SDL2",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,800,600,SDL_WINDOW_SHOWN); if( !maFenetre ) { std::cout << SDL_GetError() << std::endl; SDL_DestroyWindow(maFenetre); SDL_Quit(); } while (!finFenetre) { SDL_WaitEvent(&evenements); if(evenements.window.event == SDL_WINDOWEVENT_CLOSE) finFenetre = true; } IMG_Quit(); SDL_DestroyWindow(maFenetre); SDL_Quit(); return 0; }
Partager