这一篇文章我想要记录一下在Ubuntu18.04下面安装配置Qt5.11.3的过程。过程并不复杂,网上教程也很多,我这里做一个总结与记录,同时提及一些细节。属于Qt界面开发篇
由于在Windows下面安装Qt和在Ubuntu上面安装Qt大同小异,且更简单无需配置环境。在此我就只拿Ubuntu的安装过程来说明。我会尽量在每一步里面都说的很详细,别嫌我啰嗦就行。
Qt官方安装包下载地址:http://download.qt.io/archive/qt/
参考:《Qt下载地址》https://blog.csdn.net/friendan/article/details/44873347
去到官网,选择好版本之后,下载.run后缀的文件,这个是Ubuntu下面的一个安装包格式。同级目录下面也有windows使用的exe安装包和macbook使用的dmg安装包。
关于官网一些目录以及文件的介绍可以参考链接:https://zhidao.baidu.com/question/585887250.html
《QT软件下载》https://blog.csdn.net/qq_33075489/article/details/79713252
由于博主在发布这篇文章去截图的时候,官网已经没有5.11.3版本安装包下载了,所以就截了5.12.8版本的图片来说明。
至于版本的选择,我刚刚开始接触Qt的时候,官方正好更新到了5.11的版本,于是我后面就一直在用5.11的最高版本Qt5.11.3。这里需要说明的是,只要不是Qt4和Qt5这样的大版本跨越,那么同是Qt5.X之间的区别并不明显,代码上面几乎可以做到通用。如果需要在众多版本中做出选择,那么可以参考下面的博客。(Qt5.11.3版本安装包的下载链接我会放在文章末尾)
《Qt最好用评价最高的是哪个版本?》https://blog.csdn.net/u011430225/article/details/68485805
sudo ./qt-opensource-linux-x64-5.11.3.run
这里有一些教程并没有加sudo,两者最大的区别在于默认安装目录的不同。添加了sudo之后的默认安装目录为系统根目录下的/opt
(由于/opt目录写入需要sudo权限。所以安装的时候需要加sudo)。不加sudo的话则会默认安装到/home/xxx
(xxx是你在Ubuntu的用户名)中去(因为home目录写入不需要sudo权限)。(具体安装在那里并不影响使用,但个人推荐加上sudo,因为后面你接触到的大部分Qt教程,他们教程里面的Qt目录都是加sudo安装的)
参考:
《Ubuntu上Qt安装以及配置完整步骤》https://www.jianshu.com/p/7dad1a4483bd
遇到要求填写邮箱时,在Qt官网注册过账号就填写,没有就跳过不影响使用,一直到选择安装目录这一步。
这里你虽然可以选择更改安装目录,但是并不建议,原因和上面说的一样,后面你使用过程中,网上的大部分涉及Qt的教程他们的Qt都是安装到默认目录下的。如果你改的不一样了,有百害而无一利。我这里使用默认,Next(当然即便你真的要更改安装目录,一个基本原则就是安装目录不能有中文)
这一步选择Qt安装组件的时候可能是大部分人有疑惑的地方了。如果硬盘空间足够大,稳妥的做法是全部勾选上,不过会占用接近5G的硬盘空间。如果需要选择部分组件安装的话参考下面
《Qt5安装时的组件选择(Qt 5.9.6)》https://blog.csdn.net/WU9797/article/details/80991126
附上我自己整理的翻译与理解。
Desktop gcc 64-bit——》编译组件
Android x86——》X86架构下的安卓的支持组件
Android ARMv7——》ARMv7架构下的安卓的支持组件
Sources——》Qt源码(Qt源程序,例程)会将Qt源码部署到安装目录下
Qt Charts——》二维图表模块,用于绘制柱状图、饼图、曲线图等常用二维图表。
Qt Data Visualization——》三维数据图表模块,用于数据的三维显示,如散点的三维空间分布、三维曲面等
QtPurchasing——》Qt采购。用于处理Android、iOS和macOS上的应用内购买的跨平台api
Qt Virtual Keyboard——》Qt虚拟键盘, 一个Qt快速虚拟键盘,可以将其插入到平台或应用程序中。使用的布局和样式扩展它。
Qt WebEngine——》网络模块组件
Qt Network Authorization——》Qt网络授权是一个附加程序库,允许Qt应用程序使用不同的web身份验证系统
Qt Remote Objects(TP)——》一个提供了在进程/设备之间共享Qt api的简单方法的附加组件库
Qt WebGL Streaming Plugin——》Qt WebGL流媒体平台抽象插件,它提供了Qt Quick和Qt OpenGL应用程序通过网络流媒体到支持WebGL的浏览器
Qt Script(Deprecated)——》已经弃用的脚本组件,为Qt预构建组件
下一步同意协议,Next。
这里和你说明安装需要占用3.94GiB的存储空间,点击安装。
安装结束。
更新一下系统
sudo apt-get update
sudo apt-get upgrade
安装一些依赖库
sudo apt-get install libgl1-mesa-dev libpulse-dev libqt4-dev build-essential
这里的依赖库不一定要全部安装,事实上我自己配置的时候并没有全部安装,这里全部写出来只是为了集思广益,包罗万象,抱着宁杀错不放过的原则。
终端输入
cd /opt/Qt5.11.3/Tools/QtCreator/bin
./qtcreator
至于怎么使用qtcreator,可以参考我下一篇要更新的博客。《Hello world——Qt界面开发》
终端输入
cd ~
sudo gedit /etc/bash.bashrc
打开/etc/bash.bashrc
文件,在文件末尾处添加下面的内容。
export PATH=/opt/Qt5.11.3/Tools/QtCreator/bin:$PATH
export PATH=/opt/Qt5.11.3/5.11.3/gcc_64/bin:$PATH
事实上我个人配置环境变量的时候并不会配置到这个文件下面,我这里使用的配置文件是
/home/l/.bash_aliases
(l是用户名)而不使用大部分配置环境变量的教程提及的/etc/bash.bashrc
文件。这也只是我的个人习惯而已,他们之间的区别我以后会更新一篇博客来说明。
Qt安装成功之后,其实就可以正常使用了。这一步并非必须配置的,网上的大部分教程也并没有要求配置这环境变量。我这里配置的原因其实是之前配置交叉编译的时候遗留下来的习惯。当然配置了也有两个好处,
但说实话这两个好处都很鸡肋。
qmake
除非是用于交叉编译版本的Qt,否则能用qtcreator
界面编译的情况下谁会想去用终端编译。而在任意目录下面运行qtcreator其实根本没有必要。运行一次qtcreator
之后你完全可以右键qt在任务栏中的图标,选择添加到收藏夹,那么以后就可以直接点击图标启动qtcreator
了。
写在后面:
很长一段时间没有写博客了,这篇文章完稿已经很久了,一直在我的笔记里面没有整理发出来,现在重新开始写博客发现生疏了不少,如此简短的一篇博客前后删删减减,中途断断续续,竟耗费了我一整周的时间。事实上我的笔记里面有不下三十篇素材都还没来得及整理,主要还是有太多东西要学了,一边学习一边记录已经应接不暇了,就没有多余的时间写博客了。但我深知学习这个过程,如果只输入不输出的话,便很难深刻理解其中的内在,过长时间的不整理不总结,最近已经明显感觉到脑袋里面有太多杂乱的东西在占据着我的思考空间(这就像一台电脑一样,我现在的运行内存已经几乎占满了,严重影响了CPU处理其他任务时的性能。急需把里面的东西整理一下写进硬盘中去好释放掉这块内存。)。古语云,温故而知新,写博客的这个过程即是我对于所学知识的一个总结,经验的积累,也是为后面学习新知识稳固了地基。接下来的一段时间里面,我要好好整理我的笔记了。
《Qt Creator下载和安装(详细教程)》(重点参考,写的极好。但该博主也是转载,原文被多次转载,出处已不可考,我选取能找到的时间最早的一篇链接贴上)
https://blog.csdn.net/win_turn/article/details/50465127
《Ubuntu16.04下安装QT》(中规中矩的一篇,可参考下依赖库的选项)
https://blog.csdn.net/kenjianqi1647/article/details/80151932?tdsourcetag=s_pcqq_aiomsg
《VS2017专业版使用最新版Qt5.9.2教程(最新教材)》(我最初不是参考这篇教程,是安装成功后找到的,发现写的挺好的)https://blog.csdn.net/qq_33154343/article/details/78587699
《【Qt5.12】Qt5.12安装教程》(较新的教程,不过并没有涉及VS的配置,仅仅介绍了Qt的安装与使用)
https://blog.csdn.net/dengjin20104042056/article/details/88975907?tdsourcetag=s_pcqq_aiomsg
《Qt5.11.1安装与VS2017配置》(比较详细,主要说明在VS下配置Qt库的方法)
https://blog.csdn.net/gaojixu/article/details/82185694?tdsourcetag=s_pcqq_aiomsg
链接:https://pan.baidu.com/s/17DCagIhhlckTIopG1-6FsQ
提取码:d7cc
零BUG是原则性问题。