【Ubuntu工具】避坑指南:搞坏一台电脑,终于在Ubuntu系统上成功源码安装了 QT WebEngine 5.15.13

简介: 【Ubuntu工具】避坑指南:搞坏一台电脑,终于在Ubuntu系统上成功源码安装了 QT WebEngine 5.15.13

上篇文章(【Ubuntu工具】安装教程:Ubuntu系统上源码编译安装QT5.15.13(有坑))我们通过源码成功编译安装了 QT5.15.13版本,但是里面是不包含 QWebEngine 这个组件的。这个组件是实现 QT + Web 页面开发必不可少的一部分。所以,咱们需要再源码编译安装一下这个组件。这个坑更多(主要是依赖太多),本文将用最少的步骤,带你避坑,成功安装 QWebEngine 5.15.13。

我这里有编译好的Ubuntu20.04平台的QWebEngine 5.15.13,需要的可以联系我免费要。

0. 源码下载及准备

有两种下载源码的方法。

0.1 通过官网下载源码

(1)下载地址:https://download.qt.io/archive/qt/5.15/5.15.13/submodules/

(2)解压到本地目录

(3)进入目录

0.2 通过 Git 下载源码

这个过程比通过上面官方直接下载源码要慢。

git clone https://code.qt.io/cgit/qt/qtwebengine.git
cd qtwebengine
git checkout 5.15.13
git submodule update --init --progress

1. 安装过程

(1)新建一个build文件夹,进入build文件夹

mkdir build
cd build

(2)qmake + make编译

注意这里的qmake要替换成你的 QT5.15.13 版本的qmake的路径,例如 /opt/Qt5.15.13/5.15.13/gcc_64/bin/qmake

qmake .. -- -proprietary-codecs
make -j8

这里不需要指定安装目录,它的安装目录是 qmake 所在的 QT 的路径

如果运气好,这里编译过了,也就基本算能安装成功了,直接执行下面的安装命令即可:

(3)安装

sudo make install

但是,80%的概率,你会遇到问题,下面来展开说说我遇到的坑。

2. 踩坑

踩坑的步骤主要在 qmake + make 编译阶段。

2.1 QtWebEngine will not be built

在运行 qmake 命令时,配置列表后经常会出现 QtWebEngine will not be built 这样的提示,这表明依赖的环境不OK,需要先安装依赖的内容。根据提示安装依赖的库即可。下面我列出了可能需要的依赖库,大家在 qmake 前都安装一下:

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
sudo apt install libnss3-dev
sudo apt-get install libfontconfig1-dev 
sudo apt-get install libxtst-dev
sudo apt-get install libxcomposite-dev
sudo apt-get install libxkbfile-dev
sudo apt-get install libxcursor-dev
sudo apt install dbus dbus-tests libdbus-glib-1-dev
sudo apt install llvm
sudo apt-get install libclang-dev
sudo apt install gperf
sudo apt install bison flex 
sudo apt install nodejs npm

qmake执行完之后,出现以下界面,最底部没有任何提示,才算是qmake成功,否则仍然需要安装相关依赖库,直到没有提示为止。

2.2 WARNING: Could not find all necessary libraries for qpa-xcb support in QtWebEngine.

这是因为缺少部分依赖库,安装 2.1 中的那些库应该可以解决此问题

2.3 fatal error: X11/extensions/Xrandr.h: No such file or directory

安装依赖库:

sudo apt install libxrandr-dev

2.4 fatal error: X11/extensions/Xdamage.h: No such file or directory

安装依赖库:

sudo apt install libxdamage-dev

2.5 编译错误:double-conversion

安装依赖库:

sudo apt install libdouble-conversion-dev

3. 总结

源码编译安装 QT WebEngine 其实步骤很明确,就是 qmake, make, make install,但是其依赖的库太多了,所以非常容易遇到问题。

我是在 Ubuntu20.04 中编译成功了 5.15.13 版本。 Ubuntu18.04 理论上也可以成功,但是不知道什么原因,在我的Ubuntu18.04中编译时,必现卡死,为此还重装过一遍系统… 感兴趣的可以试一试。

附:QWebEngine各版本对应的浏览器内核版本

大多数人装 QWebEngine 都是为了开发 QT + Web 的应用,因此了解每个版本对应的浏览器内核版本非常重要。下面是官方文档中的版本对应关系:

参考:https://wiki.qt.io/QtWebEngine/ChromiumVersions

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


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

本站文章一览:

相关文章
|
2月前
|
Kubernetes Ubuntu 网络安全
Ubuntu系统关闭防火墙的正确方式
Ubuntu系统关闭防火墙的正确方式
449 2
|
1月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
221 78
|
2月前
|
存储 缓存 监控
手动清除Ubuntu系统中的内存缓存的步骤
此外,只有系统管理员或具有适当权限的用户才能执行这些命令,因为这涉及到系统级的操作。普通用户尝试执行这些操作会因权限不足而失败。
413 22
|
2月前
|
存储 Ubuntu 文件存储
Ubuntu 22.04 系统扩充存储空间指南
通过以上的方法,可以有效地在Ubuntu 22.04系统上扩充存储空间来满足用户的需求。常规的做法是添加新的硬盘驱动器,扩展现有分区或清理不必要的文件。考虑到数据安全,扩展分区时务必进行数据备份。对于一般用户而言,可能更倾向于使用图形化工具如GParted来处理分区相关问题,因为它提供直观的操作界面和较低的错误风险。若要使用LVM或命令行工具,需要有一定的专业知识以确保操作正确。在选择适合的方法时,应权衡成本、便利性和自己的技术能力。
235 12
|
2月前
|
Ubuntu 安全
修复Ubuntu系统文件损坏问题:手动fsck指令
总结一下,使用 `fsck`修复文件系统是一个复杂的过程,涉及到诊断问题、安全卸载文件系统、执行检查与修复、并且通常在维护模式下完成。这个过程对于维护系统的健康和稳定至关重要。虽然命令和步骤可以按照标准手册执行,但每个系统的具体情况可能都有所不同,因此修复操作需要对系统和维护命令有所了解。在执行这一系列操作时请确保谨慎,并对系统有一定的认识,以避免不必要的数据丢失。
434 8
|
3月前
|
Ubuntu Linux UED
Ubuntu和Debian系统与Hat Linux系列的使用比较
所以,如果你想搞一个家用服务器,或者是个人使用,喜欢新鲜事物,那Ubuntu可能是你的最好选择。如果你需要一个在商业环境中经受住考验的系统,那Fedora或CentOS可能更符合你的口味。不过记住,CentOS现在是CentOS Stream,中途换马了,所以如果你是稳定性的极端追求者,可能得考虑一下这一变化。而Debian,则适合那些对稳定性需求极高,不太追求软件版本新旧的用户。
133 26
|
2月前
|
监控 Ubuntu 安全
Ubuntu系统全常用操作指令
本文汇总了Ubuntu系统下与域控制器交互的常用命令和文件操作技巧,涵盖文件管理、权限控制、网络通信、共享挂载及软件包管理等方面,助你高效运维与快速排查问题。
225 0
|
3月前
|
Ubuntu 数据库
解决Ubuntu系统获取锁失败的问题
不过记住,这种方式有如凤凰涅槃,万不得已时才使用。这样,繁琐的锁定问题就被巧妙解决了。从此,当你再次面对这类状况时,就能秉持锁匠之智,轻松应对。
153 23
|
2月前
|
Ubuntu 搜索推荐 Linux
指导如何在Ubuntu系统中卸载QT Creator。
综上所述,通过终端,我们可以灵活地卸载QT Creator,这种方法既高效又有效。根据QT Creator安装时的具体方式与版本,相应的卸载步骤可能会有所不同。在执行上述任何命令时,务必确保替换成适用于您系统的具体命令与文件路径。
232 0
|
2月前
|
Ubuntu 网络安全 PHP
使用Ubuntu与宝塔搭建IT资产管理系统 - Chemex
随着企业员工增多,Excel和Microsoft List已无法满足IT资产管理需求。本文对比了三款免费系统:Snipt-it、GLPi 和国产 Chemex,最终选择界面友好、易用性强的 Chemex。文章详细介绍了在宝塔环境下部署 Chemex 的全过程,包括环境搭建、网站配置、数据库设置、权限管理及后续维护方法,适合中小企业快速搭建高效的 IT 资产管理系统。