美文网首页
Qt 打包32位库(包括WebEngineView)

Qt 打包32位库(包括WebEngineView)

作者: 觉醒的苍红之刃 | 来源:发表于2018-10-24 23:06 被阅读198次

前言

经过一段时间的折磨,终于编译出了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交叉工具命令提示符

image.png

5.执行命令

cd /d + 你的Qt源码路径

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目录下了

image.png

报错记录

1.模块计算机类型“x86”与目标计算机类型“x64”冲突


QQ图片20181015230600.png
QQ图片20181016203415.png

以上两个问题的解决方案
选择VS 2017的 x64_x86交叉工具命令提示符,这就是上边编译第四步选择该命令提示符的原因。
3.无法打开atl.lid
①在程序中找到VS 2017,右键->更改

image.png
②选择ATL相关选项,执行修改

VS 2017组件附图

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

环境变量附图

image.png

后记

很多错误都是因为缺少东西引起的,根据报错检查VS相关组件,或者检查相应的编译环境。

相关文章

  • Qt 打包32位库(包括WebEngineView)

    前言 经过一段时间的折磨,终于编译出了32位库,经历了各种报错,以下为相关总结。 环境 1.VS 2017安装;2...

  • 在Linux 下如何打包免安装的QT程序?

    如题,近期因为项目需求,得打包QT程序,并将程序放到没有安装QT库的电脑上运行。网上索罗了下,打包QT程序的方式很...

  • Qt 打包(含QML和WebEngineView)32位exe

    说明:1.我编译好的32位库放在C盘,具体目录如下图 具体步骤 1.使用Qt Creater在release模式下...

  • 【10】QT访问mysql数据库

    QT支持很多不同的数据库,包括:Sqlite, MySQL, SqlServer等等,QT里面提供了访问这些数据库...

  • QT打包动态库

    打包动态库 Qt 官方开发环境里自带了一个工具:windeployqt.exe。 win+r 然后输入 cmd 打...

  • qt程序打包发布

    qt程序打包发布 目标: 我想安装自己开发的程序 1.打包依赖库 a.使用qtcreator编译生成程序demo....

  • 程序打包教程

    QT5程序打包问题 问题描述:为了方便不同电脑之间QT程序的移植,简单介绍QT5打包方式打包工具:QT5自带的wi...

  • QT界面编程知识点

    好资料 0. QT程序打包注意事项 若采用VC编译器,除了应带有QT功能库之外,还应携带VC运行环境dll; VC...

  • Linux下打包发布Qt应用程序

    Linux下打包发布Qt应用程序 Linux下打包发布Qt应用程序 Linux下使用Qt进行开发的程序,如果想要在...

  • Python 图形界面

    Python支持多种图形界面的第三方库,包括 Tk、wxWidgets、 Qt 、GTK等等。Python自带的库...

网友评论

      本文标题:Qt 打包32位库(包括WebEngineView)

      本文链接:https://www.haomeiwen.com/subject/haarzftx.html