Allegro 5 - 宇宙保护者演示

问题描述 投票:1回答:2

我是C ++和Allegro 5的新手,但已经能够在线学习教程,并且能够成功构建和编译几个较小的项目。

然而,我不能让名为Cosmic Protector的演示项目运行,并且至少想知道出了什么问题。

不幸的是,我不能给你很多东西继续下去。

一个窗口短暂打开然后关闭,控制台打开并显示消息..进程6400退出,代码为255

如果您在VC 2017中运行此演示,并且通过Nuget安装了最新版本的Allegro 5(5.2.4),我甚至想知道。

该计划的来源可在... https://github.com/liballeg/allegro5/tree/master/demos/cosmic_protector获得

谢谢杰克

allegro5
2个回答
1
投票

allegro示例程序和演示通常使用CMake和Allegro库一起构建。我刚刚在Windows 10上使用VS2017测试了Allegro 5的CMake构建,并成功构建了Cosmic Protector演示。你必须将allegro dll移动到与exe相同的目录中,但除此之外它完全运行。

至于为什么它不适合你,宇宙保护器依赖于一个保存它资源的数据目录。工作目录可能是错误的,这将导致它无法找到资源。数据目录需要与可执行文件一起复制。

您可以在Project-> Properties中的Debugging下将工作目录设置为$(OutDir),然后它应该在与exe相同的目录中找到任何数据。

你是如何建造宇宙保护者的?


1
投票

感谢BugSquasher,我现在有了这个工作。

这是如何做...

  1. 启动Visual Studio 2017
  2. 创建Windows控制台应用程序类型的新项目。
  3. 将项目命名为CosmicProtector并将其保存在硬盘上的适当位置。
  4. 禁用预编译的头文件并删除与新项目相关的任何与预编译头文件相关的.h和.cpp文件。 (例如pch.h)
  5. 通过Nuget安装Allegro 5.2.4。
  6. 在Visual Studio中,导航到“项目设置/属性”并确保启用所有Allegro插件。
  7. 复制Cosmic Protector SRC和Header文件并将其粘贴到我的 项目目录。
  8. 接下来,在Visual Studio Project中,添加Source和Header文件 分别。

相当愚蠢的是,我错过的步骤以及你的回复引起了我的注意......

  1. 复制数据目录并将其粘贴到适用位置的项目目录中。
  2. 现在建立......

除了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。

然后构建它的工作:)

非常感谢您的回复,因为我已经转移到其他事情,但会发现它非常有用我认为能够构建和运行此演示。这只是你的回复让我回到了它,这一次,我很成功:)

© www.soinside.com 2019 - 2024. All rights reserved.