Qt中的glload错误

时间:2012-09-18 08:24:51

标签: qt opengl qt4 mingw mingw32

尝试在Qt中使用glload创建一个OpenGL应用程序,我测试了示例代码。

#include <iostream>
#include <windows.h>
#include <glload/gl_all.h>
#include <glload/gll.hpp>

using namespace std;

int main()
{
    glload::LoadFunctions();
    cout << "Hello World!" << endl;
    return 0;
}

但是当我运行它时,它就会停止工作。调试错误是

  

无法运行“:请求的操作需要提升。

构建命令是

  

qmake.exe C:\ Users \ Benbroher \ test \ test.pro -r -spec win32-g ++“LIBS + = - lglloadD”“LIBS + = - lopengl32”

我的Qt是4.8.1,而glsdk是0.4.4。 我正在运行64位版本的windows7,它发生在32位版本的winXP中。

可能导致此问题的原因以及如何解决?

3 个答案:

答案 0 :(得分:0)

你的QApplication对象实例在哪里?没有这个,Qt的大部分都没有功能。

答案 1 :(得分:0)

在创建有效的OpenGL上下文并使其成为当前之前,您无法加载OpenGL函数。 The documentation is very clear on this

答案 2 :(得分:0)

我认为你的直接问题与Qt或OpenGL无关。 (虽然在其他答案中关于Qt和OpenGL的观点都是有效的。考虑到它们)。

我的假设是缺少嵌入式清单是您的主要问题。鉴于你在Windows上,我认为它使用的是qmake / mingw,这可能意味着没有自动嵌入清单。

这有时会导致Windows假定应用程序需要以管理员权限运行。特别是对于某些特定应用程序名也许您可以告诉我们您的应用程序(exe)被称为什么。现在我认为这是个问题。

有关如何嵌入标准清单的信息,请查看this excellent blog entry