如何在Windows上静态编译SDL游戏

我一直在试图为Windows生成一个静态链接的“单一二进制”版本的游戏.我想链接到sdl,sdl_image和sdl_mixer,而sdl_image和sdl_mixer依次拉入几个支持库.不幸的是,我还没有找到一个方法让他们全部编译和链接使用cygwin / mingw / gcc.据我所知,现有的所有公共版本只能是共享库/ dll.

请注意,我不是在说这里的授权.源将被打开,所以sdl的GPL / LGPLness是不相关的.

编译项目时,需要对makefile进行一些更改.

>而不是sdl-config –libs,使用sdl-config –static-libs
>围绕使用上述sdl-config -static-libs与-Wl,-Bstatic和-Wl,-Bdynamic.这告诉GCC强制静态链接,但是只对它们之间指定的库.

如果你的makefile目前看起来像:

SDLLIBS=`sdl-config --libs`

将其更改为:

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

这些实际上与使用Unix的系统相同,但如果在Windows上使用简单的-static标志,通常不会对Unix喜欢造成任何错误.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...