最近因为项目需要在win7以上的系统支持在线音视频播放的浏览器模块,刚开始用微软新的webview2,但是该框架只支持在win10某个版本以上才支持,工作目录非常大,所以改用QtWebengine方案,官方发布的安装包,不支持h264播放,所以需要自己重编一下,磁盘空间最少110G,内存要16G,不然可能会出现内存不足。
下面是编译前的准备工作:
1.下载qtwebengine代码或者安装Qt的时候勾选源码安装,
把qmake的目录添加到环境变量中,根据自己的需要选择
(64位:D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin\
32位:D:\Qt\Qt5.14.2\5.14.2\msvc2017\bin\ )
把D:\Qt\Qt5.14.2\5.14.2\Src\gnuwin32\bin目录也添加到环境变量中
2.安装python 2.7.5,不支持python3,添加到环境变量中(注意:编译检测的是python2.exe,所以要把python.exe改成python2.exe)
3.安装ninja 添加到环境变量中
把电脑语言和国家设置成美国,预防编码问题
4.安装vs2019+windows sdk
5. 因为编译器的检查语法编译过程中会报错, 参考Fix build with msvc2019 16.8.0 (I3554ceec) · Gerrit Code Review (qt-project.org)
需要修改两处代码:
D:\Qt\Qt5.14.2\5.14.2\Src\qtwebengine\src\3rdparty\chromium\third_party\angle\src\common\mathutil.cpp这个文件加个类型强转
D:\Qt\Qt5.14.2\5.14.2\Src\qtwebengine\src\3rdparty\chromium\third_party\blink\renderer\platform\graphics\lab_color_space.h这个文件也要修改类型转换
注意: Qt的lib文件夹可能没有qtmain.pdb文件,需要用Qt Creator打开D:\Qt\Qt5.14.2\5.14.2\Src\qtbase\src\winmain\winmain.pro
然后设置编译配置,我是编译64位,所以选择64位,如果是32位就勾选32位,打开后直接编译生成qtmain.pdb
编译后生成pdb文件继续下面的操作
6.在开始菜单启动vs2019的编译环境命令行
7.确保上面的准备工作完成后,进入编译工作:
在第6点的命令行窗口 cd到qtwebengine代码目录,如cd D:\Qt\Qt5.14.2\5.14.2\Src\qtwebengine
执行qmake -- -webengine-proprietary-codecs
执行nmake开始编译,正常运行可能就要5个到7个小时(我电脑i5处理器 16G内存)
完成后如需把库文件安装到Qt的目录,执行nmake install
编译出来的库文件,可直接下载使用:qtwebengine_5_14_2_VS2019_x64.7z-互联网文档类资源-CSDN下载