如何用visual C++构建独立的SDL项目

How to build standalone SDL project with visual C++?

本文关键字:SDL 项目 独立 构建 何用 visual C++      更新时间:2023-10-16

今晚我正准备进入Ludum Dare,我真的很沮丧,因为我无法将我的项目构建成一个独立的.exe.

我觉得这个问题至少被问了100次,但我找到的答案都没有帮助我。。。我真的不明白什么是静态链接,也不知道如何做,这似乎甚至不是我问题的解决方案;我不介意我的程序附带一堆.dll文件,我只想让程序自己运行,这样我就可以在比赛结束时提交它。

基本上,我的visualstudio(2010express)配置完全遵循LazyFoo的设置教程。当我从visual studio启动程序时,调试和发布配置上的一切都运行良好,但当我导航到项目的"调试"或"发布"文件夹并尝试运行.exe时,程序会出现关于调用abort()的错误,或者它们会给我错误"X程序已停止工作"

我将所有的DLL都包含在可执行文件所在的同一个文件夹中,游戏在VS中运行得很好,但我似乎不知道如何将其编译为独立的.exe(甚至包括一个装满DLL的文件夹)而不会崩溃。

有人能给我一个非常精确的方法来实现这一点吗?任何帮助都会很棒。

如果您有EXE,那么您的程序正在编译。很可能在调试模式下,程序使用特定目录作为当前工作目录(CWD)运行,但当您以独立方式运行程序时,CWD不同。

CWD既影响可以加载的DLL,也影响对任何使用相对路径的文件的搜索(即,不以[反]斜杠开头)。这可能是你的问题:纹理、图形、配置文件、字体。。。

我的建议是将调试运行中的CWD(有一个选项)设置为与EXE完全相同,这是运行EXE时的默认值。然后你就可以调试你的崩溃了。