基于Qt 5.7.0的适合Window 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编译,不需要依赖任何其他的库,体验较好。

阅读更多

更多精彩内容