簡體   English   中英

Qt和GLEW:程序退出,代碼為-1073741515

[英]Qt and GLEW: The program exited with code -1073741515

我在Qt上工作,並且嘗試使用GLEW從OpenGL 1.0切換到較新的OpenGL。 我有一個使用QGLWidget的子類來處理OpenGL東西的GUi。 initializeGL的開頭,我執行語句GLenum err = glewInit(); 這會導致以下情況:

program.exe exited with code -1073741515

更多詳細信息:libs:

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);
}

我究竟做錯了什么?

  • 您的Qt版本是否支持OpenGL? 信不信由你,有些則不然。 對我來說就是這種情況,這讓我發瘋。 下載具有OpenGL支持的Qt版本,並替換您擁有的版本。 如果一切順利,您應該不會有問題。
  • 如果您不想下載預先烘焙的版本,則必須從頭開始構建Qt。 這需要Python,Perl,可能還有Ruby,並且還需要更多的耐心(因為它從未像教程中想象的那么容易)。
  • 您收到的錯誤代碼似乎是一個鏈接錯誤 ,似乎已經在這里解決 希望能解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM