Bonjour !
Je viens de me mettre a SDL, je m'amuse à faire mes ptits programmes que j'arrive à faire fonctionner sans trop de problemes.
Mais voila, j'ai envie de compiler puis linker mon programme en static afin de ne plus avoir besoin de la librairie SDL.dll.
Et là j'ai un gros probleme, les erreurs suivantes surviennent lors du link :
Je précise que j'utilise mingw comme compilateur (sous windows donc) avec CodeBlocks.
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 :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:487: undefined reference to `IID_IDirectDrawSurface3' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:915: undefined reference to `IID_IDirectDraw2' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:1672: undefined reference to `IID_IDirectDrawSurface3' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:1320: undefined reference to `IID_IDirectDrawSurface3' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:2268: undefined reference to `IID_IDirectDrawGammaControl' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:2314: undefined reference to `IID_IDirectDrawGammaControl' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:460: undefined reference to `GUID_XAxis' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:462: undefined reference to `GUID_YAxis' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:465: undefined reference to `GUID_ZAxis' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:466: undefined reference to `GUID_RxAxis' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:471: undefined reference to `GUID_RyAxis' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:472: undefined reference to `GUID_RzAxis' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:472: undefined reference to `GUID_Slider' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:472: undefined reference to `GUID_Slider' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:474: undefined reference to `GUID_POV' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:474: undefined reference to `GUID_POV' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:481: undefined reference to `GUID_POV' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:481: undefined reference to `GUID_POV' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:532: undefined reference to `GUID_XAxis' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:533: undefined reference to `GUID_YAxis' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:537: undefined reference to `GUID_ZAxis' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:577: undefined reference to `GUID_Key' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:579: undefined reference to `GUID_Key' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:582: undefined reference to `GUID_Key' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:582: undefined reference to `GUID_Key' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:588: undefined reference to `GUID_Key' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5video.c:589: more undefined references to `GUID_Key' follow :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5events.c:177: undefined reference to `IID_IDirectInputDevice2A' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5events.c:72: undefined reference to `GUID_SysKeyboard' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5events.c:76: undefined reference to `GUID_SysMouse' :\home\hercules\public_cvs\SDL12\src\video\windx5\SDL_dx5yuv.c:86: undefined reference to `IID_IDirectDrawSurface3
Dans le repertoire de mes lib, j'ai une lib appellée libddaw.a que, j'ai mis dans la ligne de commande pour le link, mais apparement ca ne change rien.
J'ai fait quelques recherches pour savoir d'où sortait ces "undefined references" et en telechargeant le SDK de directX9 j'ai trouvé que la plupart de celles-ci etaient dans des #define du fichier ddraw.h.
Cependant ca ne résoud toujours pas mon problème car je ne sais pas quoi faire avec ce fichier ddraw.h :/
Si quelqu'un connait la procédure pour venir à bout de ce link static, je l'en remercie à l'avance de m'expliquer comment procéder![]()
Partager