Ubuntu中在QT中配置OpenGL
2014-08-12 23:18
197 查看
之前搞实验室项目,博客有些天没有更新。现在学习需要,开始搞OpenGL+Ubuntu+QT。
搞了整整一天,由于是首次使用ubuntu,所以这ubuntu下配置qt和Opengl环境时走了很多的弯路,现在终于配好了我想要的环境,记录下今天的弯路过程:
这ubuntu中(我的版本是13.4)首先这qt官网下载了qt的安装包。这个安装过程还是很简单的。
出现问题的是接下来的OpenGL的配置过程。
首先,我按照教程http://www.qiliang.net/old/nehe_qt/index.html中的准备方法去配置的。也就是要装一个Mesa,然后接下来就是Mesa安装教程(http://blog.csdn.net/wm111/article/details/7661506 、/article/5749711.html )中出现的各种安装失败的error。不是缺这个,就是缺那个,问题是有的缺的,软件中心还找不到。这个过程,整整花了一个中午和下午的时间。后来,实在是解决不了了,果断查询有没有其他方法。
使用教程:在Ubuntu下如何开发配置OpenGL环境? 安装环境成功。主要步骤(Ctrl+Alt+T打开终端,使用以下命令):
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install mesa-common-dev freeglut3-dev
sudo apt-cache search glew
将搜索到的带有"glew"的都安装一遍,下面xx即为对应的程序名
sudo apt-get install xxx
至此,其实已经可以用了,上面的freegult那个是Opengl的一个开源库。这篇教程里还附有段代码用来检测是否安装Opengl成功的。使用g++来测试,是可以成功运行的(QT不行)。
另外,uBuntu上面的g++要自己进行安装,安装命令:sudo apt-get install g++
那么,接下来我开始学习教程:http://www.qiliang.net/old/nehe_qt/index.html 的第一课(本课程的源代码)。并说明我所遇到的问题。
首先,使用QT打开代码,开始构建,出现错误如下:
查找原因,在lesson01.pro配置文件中少了一句:"QT += opengl widgets"再次构建,问题解决。但出现下面问题:
首先看第一个。意思是没有匹配的函数,原代码如下:
由于NeHeWidget函数继承自QGLWidget,所以我去查了下QGLWidegt文档,结果如下:
很明显,第二个参数的类型错误。将原来的char 改正为:QGLWidget后,同时还要在NeHeWidget类定义里将对应的构造函数也进行更改(如下图所示,已改正)。再次构建,这个问题已经消除。
第二个问题:函数"setCaption"未定义,查找资料得知,由于这QT4以后都没有了这个函数,而是使用setWindowTitle代替。所以这里将其改正。构建,成功。
第三个问题:函数"gluPerspective"从其glu开头可看出是Opengl函数,这里显示未定义,所以应该是未找到。查找资料得知:
首先确定有没有按上面安装freeglut3-dev
如果没有,最好再来一次:sudo apt-get install freeglut3-dev
在pro文件中添加:LIBS += -lglut -lGLU
这使用到这个函数的地方加上头文件:#include<GL/glu.h>
再次构建,问题解决。
第四、五个问题,从字面意思上,很容易看出,没有识别出类:QKeyEvent,想到是否是没有包含进来,查看果然没有,添加头文件:#include<QKeyEvent> 。再次构建,问题解决。但出现下面新的问题:
main函数中的QApplication的对象a没有"setMainWidget"方法,百度,从QT4以上就没有setMainWidget这个函数,额,这个还真没找到替换方法,希望有人知道也可以告诉我一声。我第一次用QT~~~~所以将这一句进行了注释。因为qt4以上没有这个函数了:
Porting to Qt 4:
QApplication::setMainWidget() is no longer used. When all an application's windows are closed, the application will exit normally.
意思就是当所有窗口关闭时,程序就算是正常结束了~~
至此,第一课正常运行。具体的代码解析,就不写了,看教程吧。今天就到这里了。
搞了整整一天,由于是首次使用ubuntu,所以这ubuntu下配置qt和Opengl环境时走了很多的弯路,现在终于配好了我想要的环境,记录下今天的弯路过程:
这ubuntu中(我的版本是13.4)首先这qt官网下载了qt的安装包。这个安装过程还是很简单的。
出现问题的是接下来的OpenGL的配置过程。
首先,我按照教程http://www.qiliang.net/old/nehe_qt/index.html中的准备方法去配置的。也就是要装一个Mesa,然后接下来就是Mesa安装教程(http://blog.csdn.net/wm111/article/details/7661506 、/article/5749711.html )中出现的各种安装失败的error。不是缺这个,就是缺那个,问题是有的缺的,软件中心还找不到。这个过程,整整花了一个中午和下午的时间。后来,实在是解决不了了,果断查询有没有其他方法。
使用教程:在Ubuntu下如何开发配置OpenGL环境? 安装环境成功。主要步骤(Ctrl+Alt+T打开终端,使用以下命令):
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install mesa-common-dev freeglut3-dev
sudo apt-cache search glew
将搜索到的带有"glew"的都安装一遍,下面xx即为对应的程序名
sudo apt-get install xxx
至此,其实已经可以用了,上面的freegult那个是Opengl的一个开源库。这篇教程里还附有段代码用来检测是否安装Opengl成功的。使用g++来测试,是可以成功运行的(QT不行)。
另外,uBuntu上面的g++要自己进行安装,安装命令:sudo apt-get install g++
那么,接下来我开始学习教程:http://www.qiliang.net/old/nehe_qt/index.html 的第一课(本课程的源代码)。并说明我所遇到的问题。
首先,使用QT打开代码,开始构建,出现错误如下:
第三个问题:函数"gluPerspective"从其glu开头可看出是Opengl函数,这里显示未定义,所以应该是未找到。查找资料得知:
首先确定有没有按上面安装freeglut3-dev
如果没有,最好再来一次:sudo apt-get install freeglut3-dev
在pro文件中添加:LIBS += -lglut -lGLU
这使用到这个函数的地方加上头文件:#include<GL/glu.h>
再次构建,问题解决。
第四、五个问题,从字面意思上,很容易看出,没有识别出类:QKeyEvent,想到是否是没有包含进来,查看果然没有,添加头文件:#include<QKeyEvent> 。再次构建,问题解决。但出现下面新的问题:
Porting to Qt 4:
QApplication::setMainWidget() is no longer used. When all an application's windows are closed, the application will exit normally.
意思就是当所有窗口关闭时,程序就算是正常结束了~~
至此,第一课正常运行。具体的代码解析,就不写了,看教程吧。今天就到这里了。
相关文章推荐
- ubuntu下配置qt+opengl+opencv
- ubuntu下配置qt+opengl+opencv
- ubuntu下配置qt+opengl+opencv
- ubuntu下配置qt+opengl+opencv
- Ubuntu+QT+Cuda7.5+OPENGL配置
- ubuntu下配置qt+opengl+opencv
- Ubuntu12.4 + Qt4.8.1+OpenGL配置
- 笔记4 :Ubuntu下 Qt配置使用Opencv2.4.3
- Ubuntu 12.04 + opencv 2.4.1 + Qt 4.8.3 + Qt creater 2.5.2 安装配置
- [原创]:Ubuntu QT配置入门
- Ubuntu 13.04 下安装配置Qt 5
- 【Qt】Windows7 和 Ubuntu11 下安装配置 Qt 5.2.0
- Ubuntu 12.04 + opencv 2.4.1 + Qt 4.8.3 + Qt creater 2.5.2 安装配置
- vbox ubuntu NFS配置(基于QT210)
- 【Qt】Windows7 和 Ubuntu11 下安装配置 Qt 5.2.0
- Ubuntu下为OpenCV配置wxWidgets/OpenGL以及三者混合编程
- 在Ubuntu下配置Glut在Codeblocks平台实现基本的opengl实验
- ubuntu上安装jdk及配置,以及eclipse的安装,附加配置QT
- ubuntu qt 多媒体开发环境配置
- Ubuntu QT配置入门