【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 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关文章
|
21天前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
92 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
21天前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
49 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
24天前
|
存储 Windows
(13) Qt事件系统(two)
文章详细介绍了Qt事件系统,包括事件分发、自定义事件、事件传播机制、事件过滤以及事件与信号的区别。
49 3
(13) Qt事件系统(two)
|
10天前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
26天前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
43 3
|
24天前
|
编解码 程序员
(12)Qt事件系统(one)
本文详细介绍了Qt事件系统,包括各种系统事件、鼠标事件、键盘事件、定时器等的处理方法和示例代码。
50 0
(12)Qt事件系统(one)
|
28天前
|
Web App开发 Ubuntu 前端开发
【踩坑记】Ubuntu 20.04.6 LTS下编译安装gcc 4.4.0
【踩坑记】Ubuntu 20.04.6 LTS下编译安装gcc 4.4.0
|
2月前
|
编解码 开发工具 UED
QT Widgets模块源码解析与实践
【9月更文挑战第20天】Qt Widgets 模块是 Qt 开发中至关重要的部分,提供了丰富的 GUI 组件,如按钮、文本框等,并支持布局管理、事件处理和窗口管理。这些组件基于信号与槽机制,实现灵活交互。通过对源码的解析及实践应用,可深入了解其类结构、布局管理和事件处理机制,掌握创建复杂 UI 界面的方法,提升开发效率和用户体验。
147 12
|
2月前
|
Windows
QT源码拾贝6-11(qwindowswindow)
这篇文章深入探讨了Qt源码中与窗口激活相关的函数,QDebug运算符重载,vscode的变量提示,Windows常用类型名,获取所有窗体的方法,以及QSharedPointer智能指针的使用。
QT源码拾贝6-11(qwindowswindow)
|
2月前
|
存储 Java C++
QT源码拾贝0-5(qimage和qpainter)
这篇文章介绍了在Qt源码中qimage和qpainter的使用,包括线程池的使用、智能指针的存储、std::exchange函数的应用、获取类对象的方法以及QChar字节操作。
QT源码拾贝0-5(qimage和qpainter)