Qt学习_01 在Linux系统和Windows10系统下安装Qt
一、Lunux环境下安装Qt5.8.0
环境:
系统:Ubuntu18.04.4 64位
软件:qt5.8.0
1. 准备工作
安装gcc和g++
打开终端,输入如下指令:
sudo apt-get install gcc g++ make -y
2. 下载Qt
下载网址 :
https://download.qt.io/new_archive/qt/5.8/5.8.0/
下载qt-opensource-Linux-x64-5.8.0.run
3.安装Qt安装包
从终端进入下载文件夹,一般是/home/用户名/下载,可以找到下载好的qt-opensource-linux-x64-5.8.0.run
给所有用户赋予qt-opensource-linux-x64-5.12.8.run可执行权限
sudo chmod a+x qt-opensource-linux-x64-5.12.8.run
有权限后在该路径下执行就可以了
./qt-opensource-linux-x64-5.8.0.run
弹出安装指引窗口,按照指引填好QT Account,一路next,不建议修改默认路经。
4.配置环境变量
需要配置环境变量后才能直接使用qmake命令
ubuntu中作用于所有用户,编辑/etc/profile文件
sudo vim /etc/profile
在末尾添加(注意:这里的路经对应安装路经,请检查自己的是否对应)
export PATH="/opt/Qt5.8.0/Tools/QtCreator/bin:$PATH"
export PATH="/opt/Qt5.8.0/5.8/gcc_64:$PATH"
然后输入以下语句使修改的环境变量生效
source /etc/profile
之后在终端中输入#qtcreator就可以启动QtCreator了
用qmake -v 查看qt的安装的版本。
报错:
#could not find a Qt installation of ‘’
不爽。
解决方法:
第一步:找到qmke命令链接路径
#which qmake
/usr/bin/qmake
第二步:删除连接
#sudo rm /usr/bin/qmake
第三步:重新链接
# sudo ln -s /opt/Qt5.8.0/5.8/gcc_64/bin/qmake /usr/bin/qmake
重新查看:
成功
5.测试
测试1:
接下来尝试我们的第一个程序helloworld
选择一个目录创建我们的工程文件夹01_test并进入
#vim helloworld.cpp
编辑内容如下
#include<QApplication>
#include<QLabel>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QLabel *label=new QLabel("helloworld!");
label->show();
return app.exec();
}
保存后编译
#qmake -project
#qmake
#make
报错:
helloworld.cpp:1:9: fatal error: QApplication: 没有那个文件或目录(错误1)
#include<QApplication>
^~~~~~~~~~~~~~
找不到 –lGL(错误2)
ld returned 1 exit status
解决:
错误1:
编辑第一步qmake -project生成的01_test.pro
#vim 01_test.pro
在TEMPLATE = app上面新添加一行QT+=widgets
![](https://pic.imgdb.cn/item/60d086f1844ef46bb2174907.jpg)
错误2:
错误原因:
Qt 默认在 /usr/lib/ 目录下查找动态链接库,但是很多 Linux 发行版将 OpenGL 链接库放在其它目录,例如我使用的是 CentOS 7,OpenGL 链接库位于 /usr/lib64/ 目录,而对于 Ubuntu,OpenGL 链接库位于 /usr/lib/x86_64-linux-gnu目录。只要我们把 libGL.so 拷贝到 /usr/lib/ 目录,或者在 /usr/lib/ 目录下为 libGL.so 创建一个链接,就能解决问题。显然第二种办法更好。
另外,Linux 发行版自带的 OpenGL 链接库在后缀中添加了版本号,例如 libGL.so.1、libGL.so.1.2.0、libGL.so.1.3.1 等,但是 Qt 在链接阶段查找的 OpenGL 链接库是不带版本号的。
总起来说,我们需要在 /usr/lib/ 目录下为 OpenGL 链接库创建一个链接,并去掉版本号。
如果不知道当前 Linux 系统中 libGL.so 的具体路经,可以使用locate libGL命令或find /usr -name libGL*命令查找,然后使用ln -s创建链接。按照以下方法进行操作:
解决步骤:
查找 libGL 所在位置
# locate libGL
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0
......
创建链接,Linux 系统中可能存在多个版本的 libGL.so,为任意一个版本创建链接即可。普通用户没有权限创建链接,使用root用户或者sudo指令。
#sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/libGL.so
重新make,成功生成可执行文件01_test
执行./01_test,可见桌面左上角生成一个写着helloworld!的小窗口
![](https://pic.imgdb.cn/item/60d086f2844ef46bb2175365.jpg)
测试2:
1.打开qtcreator
![](https://pic.imgdb.cn/item/60d086f4844ef46bb217639b.jpg)
2.点击New Project,新建一个项目
![](https://pic.imgdb.cn/item/60d086f6844ef46bb2176d5f.jpg)
3.选择第一个Qt Widgets Application,点choose,然后一路默认next
然而生成文件失败
![](https://pic.imgdb.cn/item/60d086f8844ef46bb2177db8.jpg)
解决:
1.在“/home/用户名”目录下创建一个存放代码的目录
![](https://pic.imgdb.cn/item/60d086fa844ef46bb2178c05.jpg)
2.点击上方的工具->选项,选择构建与运行,在右方选择概要,更换项目目录
![](https://pic.imgdb.cn/item/60d086fc844ef46bb217999f.jpg)
3.重新创建项目,成功
![](https://pic.imgdb.cn/item/60d086fd844ef46bb217a4ea.jpg)
4.运行,成功生成窗口
![](https://pic.imgdb.cn/item/60d086ff844ef46bb217af46.jpg)
二、Windows环境下安装qt5.12.10
环境:
系统:Windows10 64位
软件:qt5.12.10
1.准备工作
1.安装Visual Studio 2017
2.下载安装CDB。
CDB属于Windows SDK Kits中的一个小工具所以我们可以下载Windows SDK Kits,然后进行选择安装。
Windows SDK Kits的下载地址是:
https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk
![](https://pic.imgdb.cn/item/60d0884b844ef46bb2211f13.jpg)
2.下载Qt安装包
QT版本官方下载地址:http://download.qt.io/archive/qt/
3.安装Qt安装包
1、双击图标,点next
![](https://pic.imgdb.cn/item/60d07af7844ef46bb2c7aab0.png)
2、出现让登陆的信息,如果在第1步启动之前,把网断了,然后再次点击图标,进行安装,就没有账户输入信息了,直接进入下一步。如果没有断,直接申请一个账号。
![](https://pic.imgdb.cn/item/60d07aff844ef46bb2c7d9d9.png)
![](https://pic.imgdb.cn/item/60d07bcc844ef46bb2cc947a.png)
3.选择安装路径
4、勾选需要的组件,这里是一处大坑!本人就因为曾装错组件而重装好几次,花费巨量宝贵时间。
一些组件内存巨大,安装和卸载时花费的时间都特别多。所以,只装所需的即可。
一般在Qt 5.12.10这栏只需要勾选MSVC 2017 64-bit 和 MinGW 7.3.0 64-bit即可(基于我个人的操作系统)。
这两个组件都可以编译代码,之所以勾选MinGW,是因为网上很多项目使用的都是MinGW编译的,如果你只装了MSVC2017,那么在运行这些代码时会报错。
注意:
- 如果你之后使用MSVC 2017一定要在你电脑上装一个VS 2017,不然无法使用MSVC编译程序。
- 如果你不想看Qt源代码,千万不要勾选Sources!每次安装该组件都花费了巨量的时间!(也有可能是我电脑辣鸡。。。)
![](https://pic.imgdb.cn/item/60d07d7b844ef46bb2d6c0cd.png)
在Developer这栏如果你仅需勾选第一个Qt Creator 4.13.1 CDB即可,其他的像是MinGW是用于交叉编译的
![](https://pic.imgdb.cn/item/60d07dc5844ef46bb2d87815.png)
5、同意,然后下一步,之后就一直默认下一步即可。
![](https://pic.imgdb.cn/item/60d07dd1844ef46bb2d8bd71.png)
4.配置环境变量
最后一步,不要忘记把qt的路径加入环境变量,否则,每次编译完项目,运行 *.exe 的时候,都会出现缺少一些dll文件。当然,可以通过将dll拷贝到 *.exe 同级目录,但是这样太复杂而且dll的文件也比较大。最好的办法,还是应该把qt的路径加入环境变量,这样在本机编译和测试都很方便。提高开发效率。
![](https://pic.imgdb.cn/item/60d08f53844ef46bb2567006.jpg)
5.测试
1.打开qtcreator
2.点击new新建项目,点击下一步
输入项目名称和路径,点下一步
输入类名,点下一步
点选MinGW,下一步
创建成功
3.运行
参考博客:
Linux:
https://www.jb51.net/article/186984.htm
http://www.manongjc.com/detail/8-npspcxiriiydpab.html
Windows:
https://blog.csdn.net/qq_34732729/article/details/115504608