Bonjour,
je veux ajouter la bibliothèque SDL2 avec l'ide Qt.
Malheureusement sur Windows je galère beaucoup et j'aurais besoin de votre aide.
Ma bibliothèque se trouve à l'adresse suivante : C:\libs\SDL2-devel-2.0.3-mingw\SDL2-2.0.3
C'est le dossier dans lequel j'ai pu extraire la bibliothèque que l'on trouve sur le site de SDL.
Dans ce dossier, il y a 5 dossiers :
- i686-w64-mingw32
- include
- lib
- test
- x86_64-w64-mingw32
Vu que j'ai une architecture 64 bits et que les versions des logiciels que j'installe sont tous en 64 bits sur windows, pour le chemin d'inclusion de la bibliothèque j'ai choisi le dernier dossier x86_64-w64-mingw32.
Pour lier de façon statique je dois rajouter donc les lignes suivantes :
Qt ne souligne pas les headers ni les fonctions, j'en déduis donc que le chemin d'include est bon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 LIBS += -L C:/libs/SDL2-devel-2.0.3-mingw/SDL2-2.0.3/x86_64-w64-mingw32/lib/ -lSDL2 INCLUDEPATH += C:/libs/SDL2-devel-2.0.3-mingw/SDL2-2.0.3/x86_64-w64-mingw32/include/SDL2
mais pour le chemin des fichiers .a il y a des problèmes
Avec les deux lignes que j'ai rajouté ci-dessus, j'obtiens les erreurs suivantes :
Après avoir cherché sur internet, il semble que j'ai omis les " au début et à la fin des chemins, je les ai rajouté en vain.undefined reference to `SDL_Init'
undefined reference to `SDL_GetError'
undefined reference to `SDL_CreateWindow' et treize autres erreurs du même type "undefined reference SDL_***"
D'autres disent qu'il faut mettre les flags suivants : -lmingw32 -lSDL2main -lSDL2 -mwindows.
Donc j'aurais ça
Toujours les mêmes erreurs, je me suis cassé la tête à comprendre d'où venais le problème mais rien, il y a un pkg-config dans le dossier lib, c'est un fichier Bash, je ne vois pas comment l'utiliser sur windows mais en l'ouvrant j'ai trouvé les flags suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 LIBS += -L"C:/libs/SDL2-devel-2.0.3-mingw/SDL2-2.0.3/x86_64-w64-mingw32/lib/" -lmingw32 -lSDL2main -lSDL2 -mwindows INCLUDEPATH += C:/libs/SDL2-devel-2.0.3-mingw/SDL2-2.0.3/x86_64-w64-mingw32/include/SDL2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 --libs) echo -L${exec_prefix}/lib -lmingw32 -lSDL2main -lSDL2 -mwindows ;; --static-libs) # --libs|--static-libs) echo -L${exec_prefix}/lib -lmingw32 -lSDL2main -lSDL2 -mwindows -Wl,--no-undefined -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid -XCClinker -static-libgcc
Bref, j'ai testé différentes combinaisons, j'ai beau chercher, je ne trouve rien de satisfaisant et ce d'autant plus que l'installation de SDL2 sur Linux ne m'a posé aucun problème particulier.
Je vous remercie d'avance
Partager