关于Qt5对xp的兼容说明

 

 

1. Qt库的编译

        Qt官方对XP系统的支持止步于5.7.0版本,从5.7.1开始不再支持XP。但从官网上下载的5.7.0版本的安装包是不支持XP的,需要自己下载源码进行编译,需要注意以下两点:

        ① configure时增加配置项:-target xp。

        ② 需要编译动态链接版本时去掉-static的选项。

2. 关于静态链接不可行的说明

        经过实际测试,使用静态链接的Qt库编译的应用,在XP上运行时会由于系统自带的某些库版本较旧或缺失导致无法运行:

        msvc版:

               

               即便补上这个dll,由于vc运行库的版本不对,依旧无法运行:

               

               由于无法更新xp系统上的C:\Windows\System32\msvcrt.dll,导致静态编译的版本无法运行。

        mingw32版:

               

               由于DirectX库太旧导致无法运行,尝试更新、修复DirectX均无效。

        结论:基于Qt 5.7.0版本的Qt库静态编译生成的程序无法在xp上运行,建议动态编译。

3. 关于msvc版的应用安装vc运行库的说明

        如果使用msvc版的Qt库编译,需要在部署前在xp上安装vc的运行库,例如基于msvc2015编译,需要安装vcredist_msvc2015_x86.exe,这个文件在Qt的安装目录中就可以找到。

        使用mingw32编译,不需要依赖任何其他的库,体验较好。

 

Qt5可以使用msvc编译器和mingw编译器,而msvc的编译器从2015开始就对xp的支持变差,就算通过各种编译配置命令设置,能xp下运行,但是会很可能发生一些奇奇怪怪的bug。而mingw编译器没有这个问题,同一个版本可以在xp win7 win10各个系统使用,而无需其他配置。另外,Qt5目前有两个长期支持版本(Long Term Support)Qt5.6和Qt5.9,Qt5.6可以在win7及以上系统开发,另外支持xp-32bit的部署和vista的部署(参考:http://doc.qt.io/qt-5.6/supported-platforms.html)而Qt5.9只支持win7以上的系统开发和部署。

所以如果想使用Qt5的新功能,又想开发出的软件能在xp系统上运行,可以选择Qt5.6的mingw-32bit版本进行开发。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值