c ++可执行程序测试

时间:2013-09-05 03:18:22

标签: c++ executable

我一直在关注c ++游戏编程的一些教程。我是c ++的新手,我正在使用Microsoft Visual C ++ 2010 Express IDE。我正在创建一个游戏,当我通过IDE运行程序时,它会按预期显示草精灵。但是当我从Release文件夹中运行.exe文件时,它会显示奇怪的图像。当我从调试文件夹运行.exe文件时,我得到一个灰色的屏幕。任何人都可以告诉我为什么会这样吗?FROM IDE

FROM RELEASE FOLDER .EXE FILE

FROM DEBUG FOLDER .EXE FILE

2 个答案:

答案 0 :(得分:2)

我猜你的精灵图片会被保存为项目文件夹中的数据文件。我提供了以下前提:

Visual Studio IDE的默认运行位置是您正在执行的项目的项目文件夹。也就是说,通常它会从保存 .vcproj .vcprojx 文件的目录执行(这通常是解决方案目录文件夹下面的一个文件夹,您的 .sln 文件。

如果您的项目从IDE正确运行,但无法直接从发布文件夹运行,则很可能您依赖项目数据文件(在您的情况下为图像)与项目中的源文件一起保存夹。从Release文件夹运行时,这些文件不再可见,因为Release文件夹是您的工作目录;不是项目文件夹。

有许多方法可以解决这个问题,每个方法都有自己的优点。一些选项是:

制作后步骤

为您的项目制作一个后期构建步骤,将您的数据文件复制到项目的$(TargetDir)位置。然后,这些文件将显示在与可执行文件相同的目录中。

  • 好处:很容易。
  • 缺点:即使数据文件是“最新的”,如果单击“构建解决方案”,它也会一直运行。

自定义构建目标

将数据文件添加到项目中并编写执行相同副本的自定义构建脚本,但也会建立输出依赖项文件。

  • 好处:几乎和#1一样简单,但有点单调乏味。
  • 缺点:您可能拥有大量数据文件,每个文件都需要自己的自定义构建步骤。 (注意:您可以多选项目中的所有数据文件,如果您对内置宏有创意,则可以让它们全部使用“相同”的构建规则和命令)

嵌入资源

将数据文件作为自定义资源添加到可执行文件中。

  • 好处:您的项目不再需要与可执行文件并排放置数据文件,因为它们嵌入在EXE模块的资源表中。
  • 缺点:需要自定义代码从可执行文件的资源表而不是磁盘中动态加载自定义资源。这根本不难,但还有额外的工作。

还有其他选择,但我希望这会给你一些想法。

答案 1 :(得分:0)

我使用VS2008并试着回答你的问题。右键单击项目并选择弹出窗口底部的属性,然后转到Configuration属性下的Debugging。您可以看到您运行的命令以及您在IDE中传递的参数。我猜你错过了一些参数。