[SDL+OpenGL]linker probleme



  • abend allerseits.
    soeben probierte ich ein altes SDL projekt mit hilfe des GCC(mingw) compilers zu bauen und musste schockiert feststellen, dass dabei seltsame linkerfehler auftreten.
    hier ein kleiner auszug der fehler:

    /home/hercules/public_cvs/SDL12/src/video/windx5/SDL_dx5video.c:915: undefined reference to `IID_IDirectDraw2'
    D:\Libs\SDL-1.2.9\lib\libSDL.a(SDL_dx5video.o)(.text+0xcc7):/home/hercules/public_cvs/SDL12/src/video/windx5/SDL_dx5video.c:925: undefined reference to `GetDeviceCaps@8'
    D:\Libs\SDL-1.2.9\lib\libSDL.a(SDL_dx5video.o)(.text+0xcdd):/home/hercules/public_cvs/SDL12/src/video/windx5/SDL_dx5video.c:925: undefined reference to `GetDeviceCaps@8'
    D:\Libs\SDL-1.2.9\lib\libSDL.a(SDL_dx5video.o)(.text+0x11a6): In function `DX5_AllocDDSurface':
    /home/hercules/public_cvs/SDL12/src/video/windx5/SDL_dx5video.c:1672: undefined reference to `IID_IDirectDrawSurface3'
    D:\Libs\SDL-1.2.9\lib\libSDL.a(SDL_dx5video.o)(.text+0x1672): In function `DX5_SetVideoMode':
    /home/hercules/public_cvs/SDL12/src/video/windx5/SDL_dx5video.c:1320: undefined reference to `IID_IDirectDrawSurface3'
    
    [...]
    

    folgende libarys werden gelinkt:

    libwinmm.a
    libglu32.a
    libopengl32.a
    libSDL.a
    

    bissher hatte ich nie derartige probleme beim bauen eines sdl programms, weder mit mingw, noch mit dem ms compiler.

    da das ganze offensichtlich was mit dx zu tun hat, vermute ich, dass es sich hierbei um ein windows spezifisches problem handelt.

    ich verwende SDL-1.2.9 und windows xp.

    warum tritt dieses problem auf und wie löse ich es?



  • Soweit ich es beurteilen kann, fehlen dem Linker die DirectX-Bibliotheken.

    Weiß jetzt nicht ob du eine der IDEs "Dev-C++" oder "Code::Blocks" benutzt? Oder kompilierst du das per Kommandozeilentipperei?
    Im Falle der zwei IDEs mußt du auf jeden Fall die entsprechenden Bibliotheken als Linkerparameter deinem Projekt hinzufügen.

    Das wären:

    Dxguid.lib
    Gdi32.lib

    Mit denen sollten die erwähnten Fehler verschwinden.



  • danke für deine hilfe aber das problem hat sich nun erledigt.
    hab mir die version 1.2.11 von der sdl homepage gezogen und seit dem geht es.


Anmelden zum Antworten