昨天纠结了好长时间,今天才有点眉目,果然是QT的配置pro文件有点坑,需要加上以下内容以兼容XP平台
win32 {
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE,5.01
DEFINES += _ATL_XP_TARGETING
# QMAKE_CFLAGS += /D _USING_V120_SDK71_
# QMAKE_CXXFLAGS += /D _USING_V120_SDK71_
# LIBS += -L$$quote(C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib)
# INCLUDEPATH += $$quote(C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include)
}
一开始我以为是系统报毒,后来否决了。然后就是说的系统exe的配置有问题,最后是由于vs2013/2015以及以后IDE都有平台xp兼容性的配置,所以需要加上一些内容才可,至于网上说的加载sdk版本,其实用creator的话是不必加的。
之前遇到的一个问题,是关于输入法的,QT的lineedit控件是可以屏蔽中文输入的,只要设置lineEdit->setAttribute(Qt::InputMethodEnabled,false);但是低版本的vs环境是不支持的,应该是输入法的相关插件调用不起来,必须指定5.6以上版本的QT以及vs2013版本,至于低版本的如何屏蔽这个功能,后续会继续研究。