如何用visual C++构建独立的SDL项目
How to build standalone SDL project with visual C++?
今晚我正准备进入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时的默认值。然后你就可以调试你的崩溃了。
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 无法在 CLion 中构建 C++ 项目
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何使用 emscripten 使用 SDL 将纹理加载到 WebAssembly 项目中
- 正确地在多文件项目中#CRUDING SDL
- 是否可以将 SDL .lib、.dll 和头文件放在某个地方,以便我可以在 Visual Studio 2017 RC 项目中键入 #include < SDL2.h>?
- 我得到了一个使用 SDL 的 OOP 项目。我没有使用继承。我可以给我的评估员什么理由
- MinGW Netbeans 7.0和SDL 2在Windows上的链接项目
- 如何在我的 VS 2010 项目中包含 SDL 库
- SDL 项目的调试错误"没有可用于 main() 的源代码"
- 如何在 Linux 上"make" SDL 项目?
- 如何用visual C++构建独立的SDL项目
- 我无法在代码块中编译我的 SDL 项目
- SDL应用程序的Makefile仅在项目提前构建时运行
- c++ SDL项目中的分段错误
- SDL项目CMake构建失败
- 在构建SDL项目时遇到问题
- 当我开始一个新项目时,Visual Studio 2012会忘记SDL配置