linux安装qt(详解每个步骤和遇到的问题,经过多系统测试)

前言

准备工作:

  • linux操作系统(ubuntu20.0.4演示,centos7,8,9操作思路一致)
  • qt安装包

我这里使用ubuntu20.0.4和qt-opensource-linux-x64-5.12.12.run,即qt5.12.12做演示。经过测试发现,qt的版本和centosb版本必须互相兼容,建议qt5.9装在centos7上,qt5.12装在ubuntu20.0.4上。目前发现,ubuntu普通用户安装qt失败,qt5.12在centos7上安装成功,在centos8、9上闪退,分别报已杀死和mprotect failed in executable allocator错误,原因未知。

qt5.9和qt5.12.12:

链接:https://pan.baidu.com/s/1N2gdehSA9zcALCatb9UK5A
提取码:yk4h
–来自百度网盘超级会员V2的分享

链接:qt官网

链接:qt其他下载地址

官网下载qt比较慢

注意:qt以及qt开发出来的程序,很多库都是依赖操作系统本地的,所以当你的qt版本和操作系统版本有不一致时,重则无法运行程序,轻则界面布局混乱,所以在安装前,问问你的同学同事,你需要安装什么版本的qt和操作系统,非常重要!!!




注意:以下所有操作均使用root,原因是不适用root时产生许多许多问题。但ubuntu默认不能使用root登录,需要修改文件来开启。centos可以不用管这个。使用普通用户可能会出错

ubuntu默认不允许使用root,但可手动修改文件开启

链接:ubuntu20.0.4开启root方法


一、配置qt运行环境

演示过程ubuntu和centos完全一致,只需将安装命令apt换成yum即可


将qt可执行文件上传到linux的某个文件夹下

**上传方法一、**通过虚拟机的vmware tools工具(不同虚拟机应该都有类似的工具,用于实现虚拟机和本机互传文件,包括剪切板)

将qt-opensource-linux-x64-5.12.12上传到/root/文档目录下(随便一个即可)

注意:你以什么用户上传到linux的,该文件就拥有什么权限。比如你以普通用户上传到某些目录可能会出错,基本就是权限问题,新手不明白这些就直接用root用户

vm tools好像经常抽风,有时候能直接将本机文件拖拽到linux,有时候不可以

我的情况是,在某些位置有禁止符

image-20220511112311277

有的位置又可以粘贴了

image-20220511112401589

关于vm tools不能使用的问题可参考这篇文章,文章的后半部分详细介绍了可能的问题

链接:vm tools无法拖拽文件解决


**上传方法二、**使用远程连接工具xftp上传

关于xftp和远程工具连接虚拟机,我在文章中做了详细的介绍

链接:使用远程工具远程连接linux

下面直接做个演示,新手使用前请仔细看文章链接,远程工具连接虚拟机有很多坑

image-20220511113347518

使用xftp连接linux后,直接把文件拖到目录中即可,该方法逼格高,且在工作的时候极其好用


上传方法三:使用共享文件夹

虚拟机设置共享文件夹该文章详细介绍了,但我最推荐方法二

链接:虚拟机设置共享文件夹


注意:vmware tools在某些情况下会导致.run文件无法运行,如下图

image-20220512090128697

猜测可能与VMTools有关,VMTools将文件从windows复制到linux虚拟机后文件的md5sum发生变化,导致文件无法运行。

这篇博客做了详细说明:

链接:QT安装段错误segmentation fault

可改用方法二和方法三上传。


上传成功后。我们先配置qt的运行环境,其中需要下载gcc、g++、make、openGL库,qmake使用qt自带的,我们就不手动安装了。我不清楚这些工具qt安装程序中的是否都自带了,但某些情况下使用qtcreator运行代码时还是报错,所以索性手动安装。注意,命令行下载的版本都是当前系统的最新版,不过后面可以手动修改版本

//更新apt源
apt install epel-release
apt update
//安装gcc 
apt install gcc
apt install gcc-c++
//安装make
apt -y install gcc automake autoconf libtool make
//安装openGL库
apt install mesa*
apt install freeglut*

基础环境下载好之后直接在该文件夹下右键,在终端中打开,先给.run文件赋执行权限,执行程序./+文件名

chmod 777 qt-opensource-linux-x64-5.12.12.run
./qt-opensource-linux-x64-5.12.12.run

打开后可能要登录邮箱,有账号的可以直接登录,不想登录的可以把网络关掉后在重新打开安装程序

关闭网络

image-20220525153435341

重新打开安装程序


接下来就正常下一步就行了,这里面只有一点是重要的

安装路径就选择默认的,有意识的记一下这个路径,以后会用得到(最后的字母a我误点了,后面已经删掉)

image-20220525153333318

唯一重要的一步只有这里,除了android不用勾选,其他的都点上,当然你全点也可以

image-20220525153627160

然后一路next即可,等待安装完成。如果你在安装过程中出现闪退的情况,你可能需要更改qt的版本或者操作系统。

image-20220525174846199

安装完成后配置一下qt的环境变量

修改/etc/profile文件

vim /etc/profile

在文件尾部加入环境变量,注意这里加入两条路径,一个是gcc或者gcc_64下的bin目录,一个是/Tools/QtCreator下的bin目录

export PATH=/opt/Qt5.12.12/5.12.12/gcc_64/bin:$PATH
export PATH=/opt/Qt5.12.12/Tools/QtCreator/bin:$PATH

image-20220526085501765

按esc,输入:wq保存退出

重新加载一下环境变量

source /etc/profile

测试一下环境变量是否成功,命令行输入qtcreator,应该可以直接启动qtcreator的,否则环境变量可能设置错误

qtcreator

这里我们再次确认一下gcc、g++和qmake的版本,代码的编译与这两个工具有关,运行同一份代码最好保持g++和qmake版本一致

gcc -v
g++ -v
qmake -v

image-20220526091027810

image-20220526091147962

gcc和g++查出来应该都是gcc的版本,qmake我们是设置环境变量的时候使用qt自带的qmake,不是我们自己安装的,如果你的gcc、g++和我的版本不一致,这不要紧,你只需要保持和同事或者领导的版本一致即可。因为不一致可能会导致同一份代码无法运行。

当然我们也可以更换gcc、g++的版本,修改方法可参考以下文章。

链接:linux修改gcc和g++的版本


上面的环境变量如果配置正确,命令行输入qtcreator,启动就可以qtcreator,如果没有启动,请检查上面配置qt环境变量的部分。


这里有可能会碰到一个老大难的问题,缺少"xcb"库

qt.qpa.plugin: Could not load the Qt platform plugin “xcb” in “” even though it was found

我的问题和这个博主的一样,可以通过这篇文章来解决

链接:解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin "xcb"问题


新建项目测试一下

image-20220526092604736

新建程序

image-20220512092116953

image-20220526092649869

设置好自己的路径

image-20220526092720509

image-20220526092747471

image-20220526092804754

下面全都下一步,到最后完成

如果你的项目没有我方框里框起来的内容,只有一个.pro文件,说明你的构建套件出了问题,请检查之前是否成功安装gcc、g++、make这三个工具

image-20220526092937339

按ctrl+R或者左下角运行的绿色三角,如果运行报错

image-20220525175107542

说明你没有成功安装opengl,请仔细查看之前的步骤。如果你都安装了,那就尝试重启qt或者重启电脑。

最后运行成功

image-20220526093325341

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值