0

私は Qt を使用しており、GLEW を使用して OpenGL 1.0 から新しい OpenGL に切り替えようとしています。QGLWidget のサブクラスを使用して OpenGL のものを処理する GUI があります。の冒頭でinitializeGLステートメントを実行するGLenum err = glewInit();と、次のようになります。

program.exe exited with code -1073741515

詳細: ライブラリ:

LIBS += -L"C:/Program Files/Microsoft SDKs/Kinect/v1.7/lib/amd64/" -lKinect10
LIBS += -lOpenGL32
LIBS += -lglew32
LIBS += -lglu32

ヘッダー:

#include <windows.h>
#include <gl/glew.h>
#include <QByteArray>
#include <QGLWidget>
#include <memory>
#include <algorithm>

完全な initializeGL() 関数:

void OpenGLWidget::initializeGL(){
    GLenum err = glewInit();
    if (GLEW_OK != err)
    {
      /* Problem: glewInit failed, something is seriously wrong. */

    }
    glEnable(GL_TEXTURE_2D); //Enables the drawing of 2D textures
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width(), height(), 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, (GLvoid*) NULL);
    glBindTexture(GL_TEXTURE_2D, textureId); //Binds the GL_TEXTURE_2D to the textureId
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width(), height(), 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, (GLvoid*) blackScreen); //Strart the program off with a black screen
    glBindTexture(GL_TEXTURE_2D, textureId); //Binds the GL_TEXTURE_2D to the textureId
    glClearColor(0,0,0,0);
    glClearDepth(1.0f);
}

私は何を間違っていますか?

4

1 に答える 1

0
  • お使いの Qt のバージョンは OpenGL をサポートしていますか? 信じられないかもしれませんが、そうでない人もいます。これは私に当てはまり、私を夢中にさせました。OpenGL をサポートする Qt のバージョンをダウンロードし、お持ちのものと置き換えます。すべてがうまくいけば、問題は発生しないはずです。
  • プリベーク バージョンをダウンロードしたくない場合は、Qt を最初からビルドする必要があります。これには、Python、Perl、場合によっては Ruby が必要であり、多少の忍耐が必要です (チュートリアルで想像するほど簡単ではないため)。
  • あなたが得ているエラーコードは、ここで解決されたように見えるリンクエラーのようです. うまくいけば、それはそれを解決します。
于 2013-07-27T14:24:29.973 に答える