【Ubuntu工具】安装教程:Ubuntu系统上源码编译安装QT5.15.13(有坑)
同学小张 2024-08-06 17:07:03 阅读 60
QT6固然先进,但与旧项目的兼容性不好,迁移起来太麻烦。因此想仍然使用QT5来继续项目。QT5.15是QT5的最后一个版本,也是长期维护的一个版本。这两天在 Ubuntu18.04 和 Ubuntu20.04 上分别安装了一下 QT5.15.13,踩了坑,特此记录一下。
我这里有编译好的 Ubuntu18.04 和 Ubuntu20.04 版本,需要的可以找我免费要。
文章目录
0. 背景1. 源码下载及准备2. 安装过程3. 踩坑3.1 ./configure : /bin/sh^M : bad interpreter [duplicate]3.2 Could not load the Qt platform plugin "xcb"3.3 ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported3.4 ERROR: Feature 'xcb' was enabled, but the pre-condition 'features.thread && libs.xcb && tests.xcb_syslibs && features.xkbcommon-x11' failed.
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,执行命令:
<code>./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 系统下的格式。
运行以下命令:
<code>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 一起交流💬,一起进步💪。
上一篇: 《Linux从练气到飞升》No.24 Linux中的信号
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。