现在是2021年2月,我们的客户还有大约不到40%的机器还在使用windows xp系统,QT最后支持windows xp系统的版本是5.6.3,但是想要将编译出来的程序在windows xp里面成功跑起来还是要费一番功夫的。
先说几个重点吧,第一是一定要把QT源码的目录名称改短,否则qwebp.lib会无法编译生成(原因是什么vckg限制了路径字符长度,看这里https://bugreports.qt.io/browse/QTBUG-38210),但是很奇怪qwebpd.lib也就是debug版本的可以生成。第二是尽量使用vs2010进行编译,虽然2015,2019等都能编译成功,但是实际用的时候在xp下面还是有各种问题。
下面是路径过长无法编译libwebp的出错提示,编译alpha_processing_sse2.obj时失败了。
1.QT 5.6.3源码获取
https://download.qt.io/new_archive/qt/5.6/5.6.3/ 找到single目录内的zip格式压缩包下载使用。
2.修改静态编译参数
修改qtbase\mkspec\common\msvc-desktop.conf文件,修改里面的
QMAKE_CFLAGS_RELEASE = -O2