sdl - 如何编译SDL程序并在没有DLL的情况下运行

标签 sdl exe dynamic-linking static-linking

是否可以将SDL库程序编译成exec并在没有“sdl.dll”的情况下运行?

例如,假设我编写了 sdl 程序并且它可以工作,除了要在 Windows 上运行该程序之外,我需要在同一文件夹或系统文件夹中包含“sdl.dll”。是否可以编译它,这样我就可以随身携带 exec 而不需要“sdl.dll”?

我正在使用 visual studio 2010 Express。

最佳答案

通常这种事情的程序是:

  1. 下载库的源代码。在 SDL 的案例中:http://www.libsdl.org/download-1.2.php .
  2. 将您机器上的库构建为静态库(在 Windows 上,这将是一个 .lib)。
  3. 将 .lib 与项目的其余部分一起放到某个文件夹中,并设置项目属性以链接到它。不要忘记头文件。

这些步骤在 Windows 上可能更痛苦,因为源代码发行版可能对 Windows 不那么友好。有些可能有 Visual Studio 项目,有些可能会强制您使用 nmake。

关于sdl - 如何编译SDL程序并在没有DLL的情况下运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8827922/

相关文章:

c++ - sdl、sdl2 错误 : SDL_window (among others) not declared

c++ - 如何识别可执行文件是由 C 还是 C++ 编译的?

c++ - 其他 .exe 中的编码/修补变量

java - 使用 javapackager 将图标添加到 bundle

qt - 部署 Qt 共享库时替换 RPATH

c++ - .so 文件没有正确的依赖关系为什么它工作

c++ - visual studio 2010 express 不同项目中的链接文件

c - 为什么这段代码在快速移动鼠标时会跳过点?

c++ - 2D 平台碰撞处理

c++ - SDL/C++(加速)黑屏