Qt源码静态编译32位版本(基于MSVC2015)

1 背景

Qt的程序发布经常带着一坨运行环境,很不简洁,体积也大,而且有些场景下,不得不使用一些第三方提供的32位库,官方现在又只提供64位了,看来只能自己动手了。为什么要基于MSVC,主要还是为了兼容。

2 准备工作

首先要有以下这些东西(基于个人需求,其他场景下区别不大):

编译环境:

Windows 10 LTSC 2019

Visual Studio 2015

源码:

qt-everywhere-src-5.12.8

第三方工具:

Python v2.7.18

Perl v5.22.1

Ruby v2.7.2

注:源码和Perl可以直接下载Qt安装包qt-opensource-windows-x86-5.12.8,安装时勾选Source和Strawberry Perl,这样也比较方便。

安装过程中如果有的话,记得勾选添加环境变量的选项。

安装完之后记得检查系统环境变量,缺的要补上,主要目的是为了能够让编译脚本直接访问第三方工具。

系统变量PATH下面应该有:

D:\Python27\

D:\Python27\Scripts

C:\Strawberry\c\bin

C:\Strawberry\perl\site\bin

C:\Strawberry\perl\bin

D:\Ruby27-x64\bin

没有可以手动添加。

3 配置编译选项

假设Qt源码的目录是在D:\Qt\Qt5.12.8\5.12.8\Src,首先把qtbase\src\3rdparty\angle\include下面的头文件,一股脑儿拷贝到qtbase\include,避免后面编译找不到OpenGL的头文件。

既然编译32位版本,那么就切换到对应的编译环境,在开始菜单找到下面入口:

打开命令行以后,MSVC x86的编译环境已经帮你配好了,这时候切换到源码所在目录,例如,然后运行如下命令:

configure -confirm-license -opensource -static -debug-and-release -platform win32-msvc -prefix "D:\Qt\5.12.8-static-vs2015" -mp -sql-odbc -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -opengl dynamic -qml-debug -nomake tests -no-compile-examples -nomake examples

简单讲几个重要的:

-static 编译静态库

-debug-and-release 同时编译debug和release版本

-prefix 指定安装目录

-mp 多核编译

-opengl dynamic 编译OpenGL,动态加载,默认开启ANGLE

-qml-debug 开启QML调试支持

其他顾名思义,如果想要了解更多编译参数的细节,可以configure -h查看一下都有哪些编译开关,对照官方文档研究一下。

4 nmake编译

Qt官方有Jom工具进行构建,但是nmake已经足够我们用了,也不用再装环境了。

我们接着第3部分,命令行不用退出,直接nmake,经过漫长的等待,编译结束后,运行nmake install,就会在指定的安装目录看到最终编译好的32位Qt库了。

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值