gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:26:55 25 4
gpt4 key购买 nike

我一直在尝试为我的 Windows 游戏生成一个静态链接的“单一二进制”版本。我想链接 sdl、sdl_image 和 sdl_mixer,它们又会引入一些支持库。不幸的是,我还没有找到一种方法让它们全部使用 cygwin/mingw/gcc 进行编译和链接。据我所知,所有现有的公共(public)版本都只是共享库/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 系统上做的事情,但如果您使用更简单的 -static,它通常不会在类 Unix 系统上引起那么多错误。标记为 GCC,就像在 Windows 上一样。

关于windows - 如何在 Windows 上静态编译 SDL 游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/115813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com