2

我在编译我制作的程序时遇到问题。

问题是在 Visual C++ 2010 中是我使用的 IDE,当我在 Debug 或 Release 模式下编译时,一切都显示得很好(我正在使用 Open GL 和纹理)。

问题是当我有我的程序的 exe 并尝试运行 OpenGL 窗口时是空白的。

经过长时间的测试,我意识到如果我没有加载纹理,一切都会正确显示。

现在我的问题(记住路径是相对的或纹理是正确的)exe 文件无法正确加载并且纹理在从 Visual C++ 2010 编译时是否正确?

不要给出任何错误以了解问题所在。

我尝试了一切..路径是正确的,纹理存在于exe应该查找的同一目录中。它不可能......而且最奇怪的是,从视觉 c++ 程序(不是 exe)可以正常工作。

4

1 回答 1

0

从 Visual Studio 启动应用程序时,应用程序执行路径是源代码所在的路径(比 .sln 文件更深的一个文件夹)。
您是否将 exe 从“Release”文件夹复制粘贴到纹理所在的文件夹中?如果没有,请尝试这样做。这就是我通常在发布应用程序之前对其进行测试的方式。

另一个原因可能是您的应用程序中存在错误。
它可能是指针覆盖数据、删除释放的内存或写入超出数组范围之类的东西。所有这些都可能导致应用程序在没有调试器的情况下运行时根本无法工作。
原因是调试模式和释放模式之间的内存布局不同。
我有很多这样的问题。
您的应用程序是多线程的吗?如果是,那也可能是它失败的原因。

于 2013-02-21T15:37:44.223 回答