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

时间:2013-08-23 20:43:18

标签: c++ visual-studio-2010 exe

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

我觉得这个问题已被问到至少100次,但我找到的答案都没有帮助我...我真的不明白静态链接是什么或者怎么做,以及这似乎不是我的问题的解决方案;我不介意我是否用我的程序发送了一堆.dll文件,我只是想让程序自行运行所以我可以在比赛结束时提交它。

基本上,我的visual studio(2010 express)配置完全遵循LazyFoo's tutorial on setting it up。当我从visual studio启动程序时,在调试和发布配置上一切运行正常,但是当我导航到项目的Debug或Release文件夹并尝试运行.exe时,程序会因为{{1}错误而中断被叫,或者他们给我错误“X程序已经停止工作。”

我将所有的DLL都包含在放置可执行文件的同一个文件夹中,游戏从VS内部运行得非常好,但我似乎无法弄清楚如何将其编译为独立的.exe(甚至包括一个充满dll的文件夹),而不会崩溃。

有人可以给我一个非常精确的方法让这个工作吗?任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

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

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

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