Visual Studio 2008 c++ 可执行文件(调试和发布)不工作

Visual Studio 2008 c++ Executable (Debug and Release) not working

希望有人能提供帮助。

我目前正在用 C++ 编写 2D 游戏引擎。当我 运行 来自 Visual Studio 2008 的应用程序使用调试或发布时一切正常。

当我然后 运行 来自 Windows 资源管理器的可执行文件(调试或发布)时,两者都不起作用,只是显示空白 Window。

有人知道这是什么原因吗?

  1. 将项目加载到 VS 2008
  2. 将配置更改为 "Debug"
  3. 单击 "Start Debugging" 按钮
  4. 应用编译构建,一切正常
  5. 申请运行s,一切正常
  6. 关闭申请
  7. VS中的输出window显示"The program '[16672] Mouse Engine v2.exe: Native' has exited with code 0 (0x0)."
  8. 打开 Windows Explorer window 并从项目的 Debug 文件夹中找到可执行文件。
  9. 运行 可执行文件,显示空白 window。
  10. 将配置更改为 "Release"
  11. 单击 "Start Debugging" 按钮
  12. 应用编译构建,一切正常
  13. 申请运行s,一切正常
  14. 关闭申请
  15. VS中的输出window显示"The program '[18872] Mouse Engine v2.exe: Native' has exited with code 0 (0x0)."
  16. 打开 Windows Explorer window 并从项目的 Release 文件夹中找到可执行文件。
  17. 运行 可执行文件,显示空白 window。

一些需要查找的东西缺少依赖项,例如您的程序找不到的配置文件和数据文件。

您也可以尝试使用 Dependency Walker 来确保您的所有 dll 都可用。 http://www.dependencywalker.com

要解决此类问题,需要检查一些事项。

  1. 检查所有变量是否已初始化。看起来很明显,但这可能是至关重要的。我发现解决此问题的最佳方法是在开始时使用#DEFINE _LOG 并使用#IFDEF _LOG 将变量值输出到每个函数中的日志文件。这样你就可以打开或关闭它。
  2. 如果你的申请只是空白window,请检查它是否是运行(使用CPU时间)。这是一个很好的迹象,表明有什么东西阻止它找到任何图像或字体文件。
  3. 检查 Debug 或 Release 文件夹结构是否与项目文件夹中的相匹配,以确保指向文件和纹理的链接有效。
  4. 确保在项目首选项中将运行时库条目设置为多线程 (/MT)。这应该会使您的应用程序减少对其他 dll 的依赖。
  5. 检查您的代码中是否存在问题。请参阅第 1 点,使用日志文件来帮助解决此问题。