2

尝试在 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 中。

什么可能导致这种情况,我该如何解决?

4

3 回答 3

0

您的 QApplication 对象实例在哪里?没有这个,大部分 Qt 都无法正常工作。

于 2012-09-18T08:53:41.067 回答
0

在创建有效的 OpenGL 上下文并使其成为当前上下文之前,您无法加载 OpenGL 函数。文档对此非常清楚

于 2012-09-18T15:20:44.087 回答
0

我假设您的直接问题与 Qt 或 OpenGL 无关。(尽管其他答案中关于 Qt 和 OpenGL 的观点都是有效的。考虑到它们)。

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

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

有关如何嵌入标准清单的信息,请查看此出色的博客条目

于 2012-09-18T15:30:54.853 回答