参考:qt官方文档:https://doc.qt.io/qt-6/qtwebengine-platform-notes.html
一、相关配置
Windows 10/11, 尽量设置系统为英文(不设置英文系统网上说会报错),编译时设置了英文,没有去验证未设置成英文的情况)我的理解只要Visual Studio 2022设置成英文就可以(官网更新英文包)vs下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/qt5.15.13源码:https://download.qt.io/official_releases/qt/5.15/5.15.13/single/python2的最新版本( 2.7.18版本),安装时可以选择自动增加到系统环境变量(没有验证python3是否可以):https://www.python.org/downloads/下载git最新版本:https://git-scm.com/downloads下载strawberryperl.增加到系统环境变量:https://strawberryperl.com/下载flex-bison增加到系统环境变量:https://sourceforge.net/projects/winflexbison/下载gperf增加到系统环境变量:https://gnuwin32.sourceforge.net/packages/gperf.htm下载nodejs增加到系统环境变量,安装时可以选择自动增加到系统环境变量:https://nodejs.org/en下载openssl: 本次使用OpenSSL Binaries Win-64 1.1.1w requires ICS V8.57 or later版本, 二进制地址:https://wiki.overbyte.eu/wiki/index.php/ICS_Download#Download_OpenSSL_Binaries,git源码地址:https://github.com/openssl/openssl?tab=readme-ov-file二、vs编译环境
64位编译选择如下vs命令环境:
进入到源码目录:
(1)如果使用qmake,如下配置(如果qmake没有设置环境变量,需要带上qmake目录全路径):
qmake WEBENGINE_CONFIG+=use_proprietary_codecs qtwebengine.pro
use_proprietary_codecs:支持音视频编解码器(支持MP3/MP4)
(2)如果是编译整个qt源码:webengine需要增加-webengine-proprietary-codecs支持音视频编解码器(支持MP3/MP4)
configure -prefix D:\qt\qtbulid -commercial -debug-and-release -force-debug-info -platform win32-msvc -nomake examples -nomake tests -webengine-proprietary-codecs -skip qtcharts -skip qtconnectivity -skip qtserialport -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -mp "OPENSSL_LIBS=-llibcrypto -llibssl" -openssl-linked -I C:\OpenSSL-Win64\include -L C:\OpenSSL-Win64\lib
源码(带webengine)大约5个小时时间。
三、备注(Windows编译问题)
(1)编译webegine是遇到错误,按官方源码修改后编译成功:
https://bugreports.qt.io/browse/QTBUG-117073
(2)配置文件需要从CRLF转换成LF格式( nmake > compile.log 2>&1 来查看日志,根据错误提示看还存在哪个文件问题),QT_Src\qtwebengine\src\3rdparty\chromium\net\http目录下面有几个transport_security_state_static.json
四、疑问
AMD64电脑编译的webengine在Intel i7里面运行web会崩溃,暂未找到问题原因。