首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Qt编译OpenGL ES2

如何使用Qt编译OpenGL ES2
EN

Stack Overflow用户
提问于 2012-01-26 06:05:29
回答 1查看 2.1K关注 0票数 0

我正在尝试弄清楚如何让我的Qt程序编译并链接到OpenGL ES2函数。

我已经创建了一个简单的程序,它使用旧的OpenGL 1.0管道在我的Qt应用程序中使用QGLWidget绘制一些简单的三角形。我想使用VBO和着色器等先进的2.0特性,所以我从尝试为VBO分配一些缓冲区开始就足够简单了:

代码语言:javascript
复制
int ids[2];
glGenBuffers(2, ids);

不幸的是,我的项目找不到glGenBuffers(),我得到了错误消息

代码语言:javascript
复制
GlWidget.cpp:103: error: 'glGenBuffers' was not declared in this scope

H的开头有一行"#elif defined(QT_OPENGL_ES_2)",所以我尝试为预处理器设置它,但它仍然找不到glGenBuffers()。

我不确定下一步该怎么做。请告诉我如何让我的Qt程序使用OpenGL ES2。

以下是我在编译时得到的输出:

代码语言:javascript
复制
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE=/C/Qt/2010.02.1/qt/bin/qmake.exe SUBPROJECTS= .build-conf
make[1]: Entering directory `/c/dev/kitfox.com/biz/monsterRacing/proj/CharacterEditor'
/C/Qt/2010.02.1/qt/bin/qmake.exe VPATH=. -o qttmp-Debug.mk nbproject/qt-Debug.pro
mv -f qttmp-Debug.mk nbproject/qt-Debug.mk
"/usr/bin/make" -f nbproject/qt-Debug.mk dist/Debug/MinGW-Windows/CharacterEditor.exe
make[2]: Entering directory `/c/dev/kitfox.com/biz/monsterRacing/proj/CharacterEditor'
g++.exe -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I'c:/Qt/2010.02.1/qt/include/QtCore' -I'c:/Qt/2010.02.1/qt/include/QtGui' -I'c:/Qt/2010.02.1/qt/include/QtOpenGL' -I'c:/Qt/2010.02.1/qt/include' -I'c:/Qt/2010.02.1/qt/include/ActiveQt' -I'.' -I'.' -I'nbproject' -I'.' -I'c:/Qt/2010.02.1/qt/mkspecs/default' -o build/Debug/MinGW-Windows/main.o main.cpp
g++.exe -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I'c:/Qt/2010.02.1/qt/include/QtCore' -I'c:/Qt/2010.02.1/qt/include/QtGui' -I'c:/Qt/2010.02.1/qt/include/QtOpenGL' -I'c:/Qt/2010.02.1/qt/include' -I'c:/Qt/2010.02.1/qt/include/ActiveQt' -I'.' -I'.' -I'nbproject' -I'.' -I'c:/Qt/2010.02.1/qt/mkspecs/default' -o build/Debug/MinGW-Windows/MainForm.o MainForm.cpp
MainForm.cpp: In member function 'void MainForm::openFile()':
MainForm.cpp:78: warning: unused variable 'surfSet'
g++.exe -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I'c:/Qt/2010.02.1/qt/include/QtCore' -I'c:/Qt/2010.02.1/qt/include/QtGui' -I'c:/Qt/2010.02.1/qt/include/QtOpenGL' -I'c:/Qt/2010.02.1/qt/include' -I'c:/Qt/2010.02.1/qt/include/ActiveQt' -I'.' -I'.' -I'nbproject' -I'.' -I'c:/Qt/2010.02.1/qt/mkspecs/default' -o build/Debug/MinGW-Windows/GlWidget.o GlWidget.cpp
GlWidget.cpp: In member function 'void GlWidget::buildMesh()':
GlWidget.cpp:103: error: 'glGenBuffers' was not declared in this scope
make[2]: Leaving directory `/c/dev/kitfox.com/biz/monsterRacing/proj/CharacterEditor'
make[2]: *** [build/Debug/MinGW-Windows/GlWidget.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
make[1]: Leaving directory `/c/dev/kitfox.com/biz/monsterRacing/proj/CharacterEditor'
EN

回答 1

Stack Overflow用户

发布于 2012-02-04 05:46:32

你可能需要GLEW。下面是一些需要查看的链接。

GLEW

Initializing GLEW

Here's where I got those links

如果这不是你要找的东西,很抱歉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9011050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档