我是C ++和Allegro 5的新手,但是能够在线学习教程,并且能够成功构建和编译几个较小的项目。
但是我无法运行名为Cosmic Protector的演示项目,并且想至少了解什么地方不对。
不幸的是,我不能给你太多帮助。
短暂打开一个窗口,然后关闭,使控制台打开并显示消息。 进程6400退出,代码为255
如果您通过nuget安装的最新版本的Allegro 5(5.2.4)在VC 2017中运行此演示,我什至也想知道。
该程序的来源可在... https://github.com/liballeg/allegro5/tree/master/demos/cosmic_protector
谢谢杰克
答案 0 :(得分:1)
Allegro示例程序和演示通常与CMake以及Allegro库一起构建。我刚刚在Windows 10上使用VS2017测试了Allegro 5的CMake构建,并成功构建了Cosmic Protector演示。您必须将allegro dll移到与exe相同的目录中,但它不能完美运行。
关于为何它对您不起作用的原因,宇宙保护器取决于保存其资源的数据目录。工作目录可能是错误的,这将导致它无法找到资源。数据目录需要与可执行文件一起复制。
您可以在Project-> Properties中的Debugging下将工作目录设置为$(OutDir),然后它将在与exe相同的目录中找到任何数据。
您如何建造宇宙保护器?
答案 1 :(得分:1)
感谢BugSquasher,现在我可以进行此工作。
这是...
愚蠢的是,我错过了那一步,而您的回复引起了我的注意……
该项目立即建立,除了Game.cpp,GUI.cpp和Render.cpp中报告的一些错误
Game.cpp中的一个错误,这是...的一个实例 错误C4996'snprintf':此函数或变量可能不安全。考虑改用snprintf_s。要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS。
为解决这个问题,我将snprintf的实例更改为sprintf_s。
GUI.cpp中的三个错误是...的实例 错误C4996'strcpy':此函数或变量可能不安全。考虑改用strcpy_s。要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS。
为解决所有这些问题,我将每个strcpy实例都更改为strcpy_s。
还有GUI.cpp中的一个错误,这是...的一个实例 错误C4996'snprintf':此函数或变量可能不安全。考虑改用snprintf_s。要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS。
为解决这个问题,我将snprintf的实例更改为sprintf_s。
Render.cpp中的一个错误,这是...的一个实例 错误C4996'sprintf':此函数或变量可能不安全。考虑改用sprintf_s。要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS。
为解决这个问题,我将sprintf的实例更改为sprintf_s。
然后构建并运行:)
非常感谢您的答复,因为我已经转至其他内容,但是我认为能够构建并运行此演示非常有用。 只是您的回信使我重新回到了这一点,这次,我成功了:)