Qt 打包32位库(包括WebEngineView)

前言

经过一段时间的折磨,终于编译出了32位库,经历了各种报错,以下为相关总结。

1.VS 2017安装;
2. ActivePerl 安装;
3. Python 2.7 安装(不能用Python 3及以上版本,官方暂不支持);
4. Ruby 安装;
5. icu 解压即用,比如解压到C:\icu4c,并添加环境变量;
6. openssl (不要以为版本号看起来更高就下载那个openssl-1.0.2h.tar.gz,该版本不兼容!)
编译openssl流程如下:
①解压下载的openssl源码,比如解压到C:\openssl-1.0.1t ;
②打开“VS2017 开发人员命令提示“;
③执行命令

cd C:\openssl-1.0.1t 

④执行命令

perl Configure VC-WIN32 no-asm –prefix=C:\openssl-1.0.1t\win32dll

⑤执行命令

ms\do_ms

⑥执行命令

nmake -f ms\ntdll.mak

⑦执行命令

nmake -f ms\ntdll.mak install

7.windows 10 SDK

1.下载Qt最新源码 qt-everywhere-src-5.11.2.zip
2.解压;
3.打开qt-everywhere-src-5.11.2\qtwebengine\src\3rdparty\chromium\third_party\skia\src\core\SkEdge.cpp,找到第238行的fCurveCount = SkToS8(1 << shift); 修改为fCurveCount = SkToS8(1i64 << shift)(已经不太确定这步是否需要);
4.打开 VS 2017的 x64_x86交叉工具命令提示符

6.执行命令

configure -debug-and-release -opengl desktop -make libs -nomake tests -nomake examples -mp

其中会出现两个选择,分别输入o回车确认(估计没有人是用花钱的,如果是,那么选择另外一项),
y回车确认。
7.执行命令
因为我要确认qtwebengine是否能编译成功,故执行以下的命令,如果不需要确认则去掉后边的module-qtwebengine执行nmake即可

nmake module-qtwebengine

如果使用jom,则nmake替换成jom,jom是Qt官方工具,据说比nmake编译速度快
jom安装教程
如果是jom,那么执行

jom module-qtwebengine

8.等几个小时编译好,编译速度取决于电脑性能,最后执行命令

nmake install

9.完成后你会发现所有的东西都放在C盘Qt目录下了