系统和软件
1.开发环境:Windows7+vs2017+Qt5.7.0-msvc2015
2.目标环境:Windows-Xp-sp3(强烈建议使用sp3,即Windows XP Service Pack 3 ,因为sp3是基础版加升级补丁,会避免很多问题)
环境配置注意的地方
1.安装vs2017勾选->使用 C++ 的桌面开发 ->对 C++ 的 Windows XP 支持
除了vs2017,还有vs2015,vs2013都是可以打包到winxp的,vs2012好像要安装一个补丁才行
2.Qt版本建议5.7.0,据说5.7.0以上的版本不再支持winxp,具体没研究,想使用Qt高版本可能需要重新编译qt源码到xp,这块以后慢慢研究
Qt5.7.0官方网站原来的链接中好像2020年后删除了部分旧版qt,包括5.7,找半天全网下载镜像竟然同步删除了,但是仔细一找发现把旧版放在了官网的new_archive/qt下点击下载Qt5.7.0
安装步骤
1.安装vs2017
2.安装Qt5.7.0,并添加msvc到系统环境变量Path,如C:\Qt\Qt5.7.0\5.7\msvc2015\bin添加到Path,添加环境变量的作用是方便打包时使用windeployqt工具
3.vs2017添加Qt扩展
工具->扩展和更新,输入Qt搜索到Qt vs Tool 安装完重启
工具栏会出现Qt Vs Tool选项卡,点击选择option
依次点击 选择qt安装路径中的msvc文件夹确定
到此环境就配置好了
Qt项目配置
新建一个Qt应用程序工程,右键解决方案,设置如下
至于为何要设置为5.01,可以参考以下两篇博客:
http://blog.csdn.net/caoshangpa/article/details/52807929
http://blog.csdn.net/caoshangpa/article/details/53666602
项目选择Realease方式编译生成exe,将生成的exe文件复制出来到单独的文件夹,在该文件夹下新建pack.bat文件,写入下面一行
windeployqt QtWidgetsApplication.exe #QtWidgetsApplication.exe为你自己的exe名称
然后双击pack.bat文件就开始打包exe需要的库到该文件夹下
WinXp中运行打包的程序
打包完将该文件夹复制到winxp中双击exe,发现提示
是缺少vc++2015的运行时库,通过安装一个工具vcredist_x86.exe来解决
下载完复制到winxp下双击安装
之后再运行qt程序发现可以正常运行了
到此就可以解决qt程序运行在winxp下了