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

本站文章一览:

相关文章
|
1月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
79 43
|
29天前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
68 30
|
1月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
36 12
|
2月前
|
Ubuntu 芯片 开发者
Ubuntu 25 ARM 桌面系统抢先版发布:第一个Ubuntu ARM桌面系统
Ubuntu 25.04 将于2025年发布,首次支持ARM Desktop桌面版系统,为ARM架构设备如Mac M系列芯片、Raspberry Pi等带来全新的桌面体验。用户可通过虚拟机或双系统安装在Mac上运行Ubuntu ARM,抢先体验版已开放下载:[链接](https://www.baihezi.com/ubuntu/arm/desktop)。此版本不仅扩展了Ubuntu的硬件兼容性,还提供了丰富的功能和流畅的操作体验,适合开发者和技术爱好者尝试。
389 9
|
3月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
83 3
|
4月前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
332 4
Linux系统之Ubuntu安装cockpit管理工具
|
4月前
|
存储 Windows
(13) Qt事件系统(two)
文章详细介绍了Qt事件系统,包括事件分发、自定义事件、事件传播机制、事件过滤以及事件与信号的区别。
163 3
(13) Qt事件系统(two)
|
4月前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
4月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
197 1
|
4月前
|
编解码 程序员
(12)Qt事件系统(one)
本文详细介绍了Qt事件系统,包括各种系统事件、鼠标事件、键盘事件、定时器等的处理方法和示例代码。
136 0