QT+opengl学习

学习链接:https://blog.csdn.net/jack_20/article/details/77713441

学习过程中发现提供的源码编译报错,确认为环境配置+版本不匹配问题

程序修改地方:

1、.pro文件中

改为

QT += widgets opengl
LIBS += glut32.lib        //该库为第三方Opengl库,添加该库才可以使用glu开头的函数
TEMPLATE	= app
CONFIG		+= warn_on
HEADERS		= nehewidget.h
SOURCES		= nehewidget.cpp \
		  main.cpp
TARGET		= lesson01

2、main.cpp中

删除

a.setMainWidget( &w );

3、nehewidget.cpp中

删除

setCaption( "NeHe's First Polygon Tutorial" );

或则替换为

setWindowTitle( "NeHe's First Polygon Tutorial" );

4、添加头文件

#include <QKeyEvent>
#include<glut.h>            //第三方头文件
#include <qgl.h>
#include <GL/GLU.h>

好了程序改完了,但是现在运行肯定会报错,因为glut32.lib不存在。怎么办?

如果你的编译环境为32位,那么直接到http://www.bvbcode.com/cn/napbrom9下载5个文件。

如果你的编译环境为64位,那么到https://developer.nvidia.com/cg-toolkitCg 3.1 Toolkit (window安装包不分32位64位)。

注意,在安装的时候需要选择只安装32位或者32位64位一起安装,如果编译环境为64位,那么32,64的一起安装吧。 

最后在安装路径的lib.x64中可以得到glut32.lib(注意,名字虽然为32,但是其实它是64位的),在bin.x64中可以得到glut32.dll。在include/GL中可以得到glut.h。

好了,现在我们已经得到想要位数的glut32.lib、glut32.dll、glut32.h。接下来要把它们放到环境路径下。

把glut.h(不区分32位跟64位)放到qt安装路径的include文件夹里,我的是 D:\Qt\Qt5.8.0\5.8\msvc2015_64\include

然后把glut32.lib放到qt安装路径的lib文件夹里。最后把glut32.dll放到C:\Windows\System32(如果编译环境为64位,则放到C:\Windows\SysWOW64)

完成后,返回工程,运行一下,启动完成。有什么问题可以以下留言,一起探讨!

猜你喜欢

转载自blog.csdn.net/weixin_42436161/article/details/87362258