How to statically compile an SDL game on Windows

后端 未结 5 864
温柔的废话
温柔的废话 2020-12-07 22:08

I have been trying to produce a statically linked \"single binary\" version of my game for windows. I want to link with sdl, sdl_image and sdl_mixer which in turn pull in a

5条回答
  •  天涯浪人
    2020-12-07 22:24

    When compiling your project, you need to make just a couple changes to your makefile.

    • Instead of sdl-config --libs, use sdl-config --static-libs
    • Surround the use of the above-mentioned sdl-config --static-libs with -Wl,-Bstatic and -Wl,-Bdynamic. This tells GCC to force static linking, but only for the libraries specified between them.

    If your makefile currently looks like:

    SDLLIBS=`sdl-config --libs`
    

    Change it to:

    SDLLIBS=-Wl,-Bstatic `sdl-config --static-libs` -Wl,-Bdynamic
    

    These are actually the same things you should do on Unix-like systems, but it usually doesn't cause as many errors on Unix-likes if you use the simpler -static flag to GCC, like it does on Windows.

提交回复
热议问题