【Ubuntu工具】安装教程:Ubuntu系统上源码编译安装QT5.15.13(有坑)

简介: 【Ubuntu工具】安装教程:Ubuntu系统上源码编译安装QT5.15.13(有坑)

QT6固然先进,但与旧项目的兼容性不好,迁移起来太麻烦。因此想仍然使用QT5来继续项目。QT5.15是QT5的最后一个版本,也是长期维护的一个版本。这两天在 Ubuntu18.04 和 Ubuntu20.04 上分别安装了一下 QT5.15.13,踩了坑,特此记录一下。

我这里有编译好的 Ubuntu18.04 和 Ubuntu20.04 版本,需要的可以找我免费要。

0. 背景

之前一直用的QT版本是5.9或5.12,这两个版本的QT安装很简单,官方提供了离线安装包,只要在Ubuntu系统中运行这个安装包即可。

上篇文章也写了 QT6.2 的安装过程,这个版本虽然没有离线安装包,但是可以通过在线的方式傻瓜式安装:

然而,QT5.15.13既没有离线安装包,也无法通过在线的方式傻瓜式安装(在线安装方式目前只支持到QT5.15.2版本),只能通过源码编译的方式自己编译安装… 于是,有了接下来的踩坑之旅。

1. 源码下载及准备

(1)下载链接: https://download.qt.io/archive/qt/5.15/5.15.13/single/,随便下载一个即可。

(2)解压到本地的某个目录下

(3)进入目录

2. 安装过程

(1)configure,执行命令:

./configure -prefix $PWD/qtbase -opensource 

命令中的 $PWD/qtbase 为安装目录,按需修改。

(2)make,编译

make -j8

(3)install,安装

sudo make install

如果不出错,恭喜你,安装完了QT最基本的模块。

(4)如果想要安装其它子模块,例如安装 qtdeclarative 模块(其它模块类似,只替换这个模块名称即可):

sudo make -j8 module-qtdeclarative
sudo make install

子模块的名字即为文件夹的名字:

3. 踩坑

我是一上来就遇到了坑:

3.1 ./configure : /bin/sh^M : bad interpreter [duplicate]

这是因为 ./configure 的格式是 windows 系统下的,需要将其转换为 Ubuntu 系统下的格式。

运行以下命令:

find . -type f -print0 | xargs -0 dos2unix

将下载的源码中的所有文件都扫描一遍,转换成 Ubuntu 系统下的文件格式。

然后再按上面的安装过程安装,就安装成功了。

3.2 Could not load the Qt platform plugin “xcb”

apt-get install -y libxkbcommon-x11-0

3.3 ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported

export QTWEBENGINE_DISABLE_SANDBOX=1

3.4 ERROR: Feature ‘xcb’ was enabled, but the pre-condition ‘features.thread && libs.xcb && tests.xcb_syslibs && features.xkbcommon-x11’ failed.

把下面的库全部装一遍:

sudo apt-get install libx11-*
sudo apt-get install libx11*
sudo apt-get install libxcb-*
sudo apt-get install libxcb*
sudo apt-get install libxkbcommon-devsudo
sudo apt-get install libxkbcommon-x11-dev
sudo apt-get install libxcb-xinerama0-dev
sudo apt-get install libxcb-sync-dev

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是 同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • +v: jasper_8017 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关文章
|
1月前
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
219 0
|
24天前
|
Ubuntu 开发工具
Ubuntu环境下以源码编译方式安装Vim的步骤介绍
以上就是在Ubuntu环境下以源码编译方式安装Vim的全部步骤。就像煮一杯咖啡,虽然过程中需要耐心和一些技巧,但等到你熟悉之后,你会发现,不仅可以定制自己喜欢的口味,过程中的乐趣也是不能忽视的。希望你在编译安装Vim的过程中,能体验到这份乐趣。
84 21
|
1月前
|
Ubuntu 定位技术 开发工具
在Ubuntu 20.04系统中安装SLAM库的具体操作步骤
以上是在Ubuntu 20.04系统中安装SLAM库的具体操作步骤。就像积木游戏,需要按照正确的步骤,适时地添加正确的部件,才能够构建出我们想要的积木模型。在现实操作中可能会遇到各种问题,就像积木构建中的各种困难,我们要有耐心和决心去解决它们,最后得到我们想要的结果。希望这个有趣的积木游戏比方能帮助你更好地理解SLAM库的安装过程,并在实际操作中得到应用。
83 34
|
24天前
|
Ubuntu 机器人 Shell
在Jetson TX2的Ubuntu18.04系统中安装ROS的教程
所有这些步骤并不复杂,但确实需要仔细一点。如果遇到问题,不要灰心,问题是解决问题的开始。保持耐心,细心阅读错误信息,通常情况下,问题的答案就藏在其中。祝ROS旅程顺利!
70 18
|
11月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
323 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
10月前
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
364 0
|
9月前
Qt开发
Qt开发
|
10月前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
454 2
|
9月前
|
开发工具 C++
qt开发技巧与三个问题点
本文介绍了三个Qt开发中的常见问题及其解决方法,并提供了一些实用的开发技巧。
208 0
|
10月前
Qt开发网络嗅探器02
Qt开发网络嗅探器02