1.环境:
win10、Qt5.12.11、vs2019
2.原因
qt安装自动的qtwebengine不支持mp4解码器
3.解决方案:重新编译qtwebengine使其支持mp4
3.1 环境准备
3.1.1 Qt安装盘需留足够空间
建议还有80G空间
3.1.2 Qt下载安装
3.1.2.1 下载链接
安装qt-opensource-windows-x86-5.12.11.exe时勾选源码Sources
3.1.3 python下载安装
3.1.3.1 下载链接
安装一路next即可,
然后环境变量添加路径C:\Python27
3.1.4 Vs2019安装(网上教程多,自行查找 )
3.2 开始编译
3.2.1 使用vs2019交叉编译工具(根据实际环境路径)
添加环境变量:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x86\
输入:
>cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build"
>vcvarsll.bat amd64_x86
>cd C:\Qt\Qt5.12.11\5.12.11\Src\qtwebengine
>C:\Qt\Qt5.12.11\5.12.11\msvc2017\bin\qmake.exe -- -webengine-proprietary-codecs
编译debug和release一起的话,直接nmake && nmake install
单独编译release,nmake release && nmake install(我只编译release)
>nmake release && nmake install
3.2.2 编译失败异常处理
3.2.2.1 ninja: build stopped: subcommand failed.
3.2.2.2 解决方案
备注:网上说改系统语言和vs语言都无法解决,根本就不是这个原因。
在输出中发现实际异常:
修改:
3rdparty/chromium/third_party/angle/src/common/mathutil.cpp
修改后编译最后会报错,但已正常生成目标文件:
3.3 完成
3.3.1 生成的目标文件
3.3.2 使用
条件:编译后迁移到安装相同QT版本的机子上发现还是不支持mp4,使用windeployqt将使用qtwebengine的exe将本机的Qt库导出,发现就可以了。
备注:windeployqt使用需要配置QT环境变量