4

WindowsでQtでGLEWを使用したい(それが重要な場合は7)。

私が行ったことは、GLEW Webサイトにアクセスし、Windows用のパッケージをダウンロードしてから、glew.dllをSystem32フォルダーに配置することでした。私のプロファイルでは、.libファイルをLIBS += .../path_to_the_libs/glew32.libと同じで参照しましたglew32s.lib(後者が何のためにあるのかわかりません)。私のQGLWidgetサブクラスでは、それが前に、したがって前に含まglew.hれていることを確認しました。この関数で最初に行うことは呼び出しと呼び出しですが、アプリケーションは非常に大きな負の数などの奇妙なコードで終了します。<QGLWidget>gl.hglu.hmain()glewInitglGetError

私は自分が間違っている可能性が非常に高いのではないかと疑っています(私はQtとOpenGLに比較的慣れておらず、GLEWにはまったく慣れていません)が、主要なエラーの1つは、ライブラリがMSVCで構築されているため、MinGWとリンクすることはできません...とにかく、QtでGLEWをインストールして使用する方法をステップバイステップで説明していただけますか?よろしくお願いします。前もって感謝します

編集: みんな、多分私はあまりにも多くを求めています、しかし私は本当にステップバイステップの指示が欲しいです:)

4

2 に答える 2

7

glewInit()OpenGL コンテキストの準備が整う前に呼び出すことは想定されていません。gl*の先頭ではなく、最初の呼び出しの直前に呼び出しますmain。これでうまくいくはずです。

glew32.libまた、同時に使用しないでくださいglew32s.lib。前者は DLL ファイルと一緒に使用し、後者は静的です (.exe は大きくなりますが、アプリケーションを .dll と共に配布する必要はありません)。どちらかを決めて使います。

于 2010-11-19T13:54:24.450 に答える
0

Qt 4.7 は任意の OpenGL コンテキストを作成できます。QGLFormat.setProfile() と QGLFormat.setVersion() を使用する

唯一の欠点は、まだ OpenGL 3+ バインディングがないことです。

ステップバイステップの解決策:

  1. QGLWindget の新しいサブクラスを作成します。
  2. 新しいクラスのコンストラクターで、適切な OpenGL 番号を使用して新しい QGLContext をセットアップします。
  3. glewInit() を呼び出します。
  4. コンテキストをコンストラクタ QGLWidnet に渡します。

私の記憶が正しければ、そうなるはずです!GLEW dll は適切なシステム フォルダに配置し、コンパイラ オプションを添付する必要がありますが、これらは QT を使用しない GLEW の場合と同じです。

于 2010-12-27T11:11:44.413 に答える