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 です。Windows7 の 64 ビット版を実行していますが、winXP の 32 ビット版で発生しました。

何が原因で、どうすれば解決できますか?

4

3 に答える 3

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 に答える
0

QApplication オブジェクトのインスタンスはどこにありますか? これがないと、Qt のほとんどが機能しなくなります。

于 2012-09-18T08:53:41.067 に答える