Qt和GLEW:程序退出,代码为107374155
Qt and GLEW: The program exited with code -1073741515
我正在使用Qt,并试图使用GLEW从OpenGL 1.0切换到更新的OpenGL。我有一个GUi,它使用QGLWidget的一个子类来处理OpenGL的东西。在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,而且需要一点耐心(因为它从来没有教程中想象的那么容易)
- 你得到的错误代码似乎是一个链接错误,似乎已经在这里解决了。希望这能解决问题
相关文章:
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 代码在main()中运行,但在函数中出现错误
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 编译包含字符串的代码时遇到问题
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 在Linux for Windows上编译C++代码时出错
- 我的字符计数代码计算错误.为什么
- 孤立代码块在结构中引发异常
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 此代码是否违反一个定义规则
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 为什么在这个代码结束循环中没有得到结束
- 在c代码之间共享数据的最佳方式
- Qt和GLEW:程序退出,代码为107374155