Thinking in Qt —— 编译 QtWebEngine

前言

在 Qt6 中,QtWebEngine 模块作为对 Chromium 的封装,提供了强大的网页渲染能力。然而,官方发布的预编译版本通常不包含专有编解码器(proprietary codecs)支持,例如对 H.264、MP3 的解码。

为了获得完整的多媒体功能,我们可以使用 vcpkg 从源代码编译 Qt6 的 qtwebengine 模块,并启用 proprietary-codecs 选项。

本文将详解整个编译过程,特别是如何解决构建过程中可能出现的 Python 版本兼容问题。

环境准备

如果安装的 Visual Studio 2022 版本是 17.14.0,推荐回滚到版本 17.13.6

 

image-20250521130013098

image-20250521125919508

1. 安装 vcpkg

2. 安装 QtWebEngine(带 proprietary codecs)

说明:

  • --editable 允许修改源代码(例如后期自定义补丁)

  • --x-buildtrees-root=D:/b 指定构建输出路径,避免默认路径过长或空间不足

3. 编译报错(Python 环境问题)

在构建过程中,你可能会遇到如下错误:

推荐卸载掉电脑上自己安装的所有 Python

检查系统环境变量,把 PATH 下无关的环境变量清理一下

另外,使用 vcpkg 编译 qtwebengine 不需要 修改系统的区域和 Unicode 编码

会自动编译 debug 和 release 版本,花了4小时,最后 build 文件夹大小 82.7 G

image-20250521131436077

总结

附录

vcpkg 编译时需要下载很多文件(3个G)

我上传到百度云(https://pan.baidu.com/s/1VrkneLtX3PyhAKb2pQMMyw?pwd=2v4k

方便代理网速慢的同学

编译前把 downloads 文件夹替换 vcpkg 文件夹内的 downloads 就可以了