Windows下VS2017编译Qt5.6.3源码动态库

一、前言
因为要使用VS2017还得兼容XP,5.6.3是支持XP的最高版本,目前网络上好多资料都是收费的或者是讲的很笼统地,所以我自己写一下过程记录一下。
二、编译前准备

  • python:网上说要控制版本我使用了较新版本的python3.9.13编译Qt5.6.3并没有出现问题。
  • ActivePerl:我使用的版本为5.22.1
  • Ruby:我使用版本为2.4.2
  • jom:这是一个可选项,如果不使用jom的话会非常慢,使用了jom速度会提升很多,如果嫌麻烦可以不用。

三、编译过程

  • 第一步:打开x86 Native Tools Command Prompt for VS 2017,这是32位的,如果要编译64位搜索VS 2017找到X64的来用就行,不一定非得使用Native Tools,因为我编译32位Qt5.6.3所以需要上述工具。
  • 第二步:进入Qt5.6.3源码所在路径,我要兼容XP的Qt库,例子跟测试还有qtwebengine我都不需要,我的命令为:configure -opensource -confirm-license -platform win32-msvc2017 -target xp -debug-and-release -shared -D USING_V110_SDK71 -qt-zlib -qt-libpng -qt-libjpeg -qt-pcre -skip qtwebengine -nomake tests -no-compile-examples -nomake examples -mp -prefix “F:\QT5.6.3Source\second_install”,如果没有额外需要只需要修改一下最后的安装目录即可。
  • 第三步:前面命令执行时间很快,出现错误需要自己根据不同情况进行修改,若一切顺利,则直接执行nmake,但是我还是建议安装jom,执行jom /J 16,这样会快很多,然后开始漫长的等待。
  • 第四步:开始安装,执行nameke install或者jom install,按照上述对应命令,等待结束即可。

四、总结
将编译结束后的源码的bin目录加入环境变量Path中即可使用,可以选择不安装Qt5.6.3,记得重启一下。
五、Qt4升级到Qt5的BUG:
UI中编辑框、按钮、Radio等控件可能无法正常点击交互,解决办法为在你的主界面类中添加如下代码:

protected:
//解决QT5界面不刷新的BUG。
virtual void showEvent(QShowEvent *event)
{
this->setAttribute(Qt::WA_Mapped);
QWidget::showEvent(event);
}

六、伸手党资源
本着开源的心态放一下我的编译完毕的库,伸手党可以直接拿去用,使用7Z解压缩即可,网盘链接为:提取码为QXY6

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值