编译我编写的程序时遇到问题。
问题在于Visual C ++ 2010是我使用的IDE,当我在Debug或Release模式下编译时,一切都显示良好(我正在使用Open GL和纹理)。
问题是当我有我的程序的exe并尝试运行OpenGL窗口是空白的时候。
测试很久我意识到如果我没有加载纹理,一切都会正确显示。
现在我的问题(记住路径是相对的或纹理是正确的)exe文件无法正确加载,并且从Visual C ++ 2010编译时纹理是否正确?
不要错误地知道问题是什么。
我尝试了一切..路径是正确的,纹理存在于exe应该看的同一目录中。它不可能......最奇怪的是,从视觉c + +程序(而不是exe)可以正常工作。
答案 0 :(得分:0)
从Visual Studio启动应用程序时,应用程序执行路径就是源代码所在的路径(一个文件夹比.sln文件更深)。
您是否将exe文件从“Release”文件夹复制粘贴到纹理所在的文件夹中?如果没有,请尝试这样做。这就是我通常在释放之前测试我的应用程序的方式。
另一个原因可能是您的应用程序中存在错误。
它可能类似于指针覆盖数据,删除释放的内存或写出数组的边界。所有这些都可能导致应用程序在没有调试器的情况下运行时根本不起作用。
原因是,调试和释放模式之间的内存布局不同。
我遇到了这样的问题你的申请是多线程的吗?如果是,那也可能是它失败的原因。