qt中使用glew库
(2014-03-01 16:24:37)分类: OpenGl |
在开发的过程中需要使用glew的库函数,按照网上说的一些dll文件,头文件和库文件配置好.
我的头文件顺序:
GL/glew.h
QtOpenGL
GL/glut.h
QtGui/QtGui
编译时出现这样的错误:
#warning To use GLEW with Qt, do not include or after glew.h
很郁闷,当然我把头文件顺序换了一下:
QtOpenGL
GL/glew.h
GL/glut.h
QtGui/QtGui
编译时又出现以下的错误:
gl.h is included before glew.h
这下子,我彻底无语了的,这样子的话,还直接告诉我不要在qt下使用glew库函数得了,在相关技术群里提问后,也没人知道解决办法,只好自己baidu,google了,发现在QtOpenGL中的一个qglfunctions.h的头文件定义了这个glew库函数中的函数(我用的是glBlendEquation函数),但是我包含了这个头文件后,编译还是不通过。
突然百度到一个网址:http://www.csc.kth.se/~perrose/files/qcreatemodel/main.html
我简单的看了下这个程序:
把我的头文件改成如下:
GL/glew.h
QGLWidget
GL/glut.h
QtGui/QtGui
编译顺利通过,原来是这个#include 在作怪,还有头文件的加载顺序也很重要。。。
编译通过时,但是运行起来的时候,提示glBlendEquation函数返回的指针有问题,找了好久,不知道怎么解决,忽略了一个问题,就是没有在代码中显示添加加载库文件的代码:
#pragma comment(lib,"glew32.lib")
在代码开始处添加,程序运行起来就没有问题了的。
另外,要glewInit()函数初始化之后才可以使用这些glew函数。。。