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

错误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!的小窗口

测试2:

1.打开qtcreator

2.点击New Project,新建一个项目

3.选择第一个Qt Widgets Application,点choose,然后一路默认next

然而生成文件失败

解决:

1.在“/home/用户名”目录下创建一个存放代码的目录

2.点击上方的工具->选项,选择构建与运行,在右方选择概要,更换项目目录

3.重新创建项目,成功

4.运行,成功生成窗口

二、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

2.下载Qt安装包

QT版本官方下载地址:http://download.qt.io/archive/qt/

3.安装Qt安装包

1、双击图标,点next

2、出现让登陆的信息,如果在第1步启动之前,把网断了,然后再次点击图标,进行安装,就没有账户输入信息了,直接进入下一步。如果没有断,直接申请一个账号。

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!每次安装该组件都花费了巨量的时间!(也有可能是我电脑辣鸡。。。)

在Developer这栏如果你仅需勾选第一个Qt Creator 4.13.1 CDB即可,其他的像是MinGW是用于交叉编译的

5、同意,然后下一步,之后就一直默认下一步即可。

4.配置环境变量

最后一步,不要忘记把qt的路径加入环境变量,否则,每次编译完项目,运行 *.exe 的时候,都会出现缺少一些dll文件。当然,可以通过将dll拷贝到 *.exe 同级目录,但是这样太复杂而且dll的文件也比较大。最好的办法,还是应该把qt的路径加入环境变量,这样在本机编译和测试都很方便。提高开发效率。

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

https://blog.csdn.net/szx123_/article/details/103923707

http://c.biancheng.net/view/3858.html

posted @ 2021-05-07 18:46  TSCCG  阅读(631)  评论(0编辑  收藏  举报