编译32位QT5.15.0 QT5.15.1 Qt5.15.2 qtwebengine模块

注意!经过测试,5.15.2的webengine有较大的bug,请勿使用该版本,5.15.1使用良好。

默认安装的qtwebengine不支持mp4,需要手工加参数编译。

编译依赖Python2(需2.7.5+,3不行),需提前装好并将路径加到Path环境变量,官网列出的依赖项ActivePerl、GPerl、Bison、Flex可以不要,自带了。

安装Qt的时候需勾选MSVC 2019 32-bit、Sources、Qt WebEngine、Qt Debug Information Files(5.15.2需要,否则链接阶段会报错)。

仅支持在64位系统下编译,需使用VS2019的x64_x86 Cross Tools Command(不是x86_x64开头的):

E:
cd Qt\5.15.1\Src\qtwebengine
mkdir build
cd build
..\..\..\msvc2019\bin\qmake.exe ..\qtwebengine.pro -- -webengine-proprietary-codecs
nmake
nmake install

如果nmake出现以下错误:

ninja: build stopped: subcommand failed.
NMAKE : fatal error U1077: “call”: 返回代码“0x1”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x86\nmake.exe"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “(”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.

参考:https://bugreports.qt.io/browse/QTBUG-88625

解决方案:https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/321741

需修改3个文件,与网上其它博客说的文件编码无关,我检查过包含全角引号的代码文件都是utf-8了。

如果以上还无法解决,可执行:nmake >compile.log 2>&1 将日志输出到文件具体分析,搜索error会有收获,前后加一个半角空格。

解决错误后需要清空build目录的内容,重来一遍。

弹出的错误框:Microsoft VC compiler and tools experience improvement data uploader已停止工作,可以忽略,这个是微软收集数据的,与编译本身无关。

以上方法同样适用于5.12、5.13、5.14版本,用VS2017就好了,2019应该也行,5.15是5系列最后一个LTS版本。

你可能感兴趣的:(qtwebengine,qt)