【发布时间】:2012-09-24 04:18:02
【问题描述】:
我在编译自己制作的程序时遇到问题。
问题是我在 Visual C++ 2010 中使用的是 IDE,当我在 Debug 或 Release 模式下编译时,一切都显示得很好(我正在使用 Open GL 和纹理)。
问题是当我有我的程序的 exe 并尝试运行 OpenGL 窗口是空白的。
测试了很久才发现,如果我没有加载纹理,一切都会正确显示。
现在我的问题(记住路径是相对路径或纹理是正确的)exe 文件无法正确加载,并且从 Visual C++ 2010 编译时纹理是否正确?
不要给出任何错误以了解问题所在。
我尝试了一切.. 路径正确,纹理存在于 exe 应查看的同一目录中。不可能……而且最奇怪的是从visual c++程序(不是exe)可以正常工作。
【问题讨论】:
-
您的程序可能会静默加载所需的 DLL 失败。当您从 Visual Studio 运行 EXE 时,您的 PATH 中会包含额外的信息,Windows 将在搜索 DLL 时使用这些信息。假设 OpenGL 本身工作正常,我应该问:你的纹理是什么图像格式,你是如何加载它的?
-
你能在你的项目设置中检查“工作目录”和“调试目录”吗?
-
Paddy 可能是正确的。您可以做的仔细检查是首先尝试将 dll 复制到与您的 exe 相同的目录中。如果这不起作用,请查看如何使用 GlGetError,这对于从 GL 中获取调试信息非常有帮助。
标签: c++ visual-studio-2010 opengl textures