SDL_image 2.0.2 undefined IMG_Init
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.
Code:
"undefined reference to 'IMG_Init' "
Dans le build options ==> linker settings j'ai bien mis:
- 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:
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;
} |