Win7下Qt5.2中使用OpenGL的glu函数库无法使用的解决方案

    最近在Window7使用Qt5.2学习OpenGL时,出现了以OpenGL中glu开头的函数库无法使用的错误,例如:
 'gluPerspective'  was not declared in this scope.本文使用的QT版本是Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL, 689 MB) (Info),可从QT官网http://qt-project.org/downloads看到各种平台下的QT版本下载信息。

  上网搜了以下相关的解决方法,都是针对QT低版本的,例如这篇文章:QT常见错误之GLU头文件没法使用。我尝试了下,最终在Window7下的QT5.2环境下解决了这个问题。

1、在引用了类似于gluPerspective函数的glu函数库所在源文件中添加头文件:#include

这一步必须,不知道为什么在QT5.2下使用OpenGL的以glu开头的GLu32库还需要包含gl/glu.h头文件,而使用OpenGL中以gl打头的OpenGL32库就不需要包含头文件了。

2、下载glut.lib和glut32.lib这两个库文件,将其拷贝到你的QT安装目录下的Qt5.2.0\5.2.0\mingw48_32\lib文件夹下,这样QT编译器会自动到该lib目录下搜相应的库文件,即glu函数库的实现。

这一步可能不需要。

最后,在我的Qt5.2环境下尝试了一下下Qt下的OpenGL 编程(2)动手搭建Qt下的OpenGL编程框架这篇博文以及C++ GUI Programming with Qt4(第2版)第20章三角锥Tetrahedron中的OpenGL例子,确认进行上述配置后,gluPerspective(45.0,(GLfloat)width/(GLfloat)height,0.1,100.0);以及gluPickMatrix(GLdouble(pos.x()),GLdouble(viewport[3]-pos.y()),5.0,5.0,viewport);这两行代码好使了。





你可能感兴趣的:(QT编程学习)