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

蓝狮在线

蓝狮在线

  • 首页
  • 关于蓝狮在线
  • 业务范围
  • 最新动态
  • 联系我们
  • 你的位置:蓝狮在线 > 最新动态 > 避坑指南:搞坏一台电脑,终于在Ubuntu系统上成功源码安装了 QT WebEngine 5.15.13

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

    发布日期:2024-09-02 10:58    点击次数:58

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

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

    mkdir buildcd build

    (2)qmake + make编译

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

    qmake .. -- -proprietary-codecsmake -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-devsudosudo apt-get install libxkbcommon-x11-devsudo apt-get install libxcb-xinerama0-devsudo apt-get install libxcb-sync-devsudo apt install libnss3-devsudo apt-get install libfontconfig1-dev sudo apt-get install libxtst-devsudo apt-get install libxcomposite-devsudo apt-get install libxkbfile-devsudo apt-get install libxcursor-devsudo apt install dbus dbus-tests libdbus-glib-1-devsudo apt install llvmsudo apt-get install libclang-devsudo apt install gperfsudo 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知识和实战案例 

    本站文章一览:

    图片

    本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

    栏目分类