首页| 论坛| 消息

标题:msvc2013编译 Qt5.2.1支持XP 方法
作者:zj511
日期:2014-03-29 15:57
内容:

今天 msvc2013编译 Qt5.2.1支持XP ,报错:
kernel\qeventdispatcher_win.cpp(440) : error C2065: “QS_TOUCH”: 未声明的标识符
kernel\qeventdispatcher_win.cpp(440) : error C2065: “QS_POINTER”: 未声明的标识符
解决方法:
qtbase/src/corelib/kernel/qeventdispatcher_win.cpp 文件的440行
原始为:
#if defined(_MSC_VER) && _MSC_VER >= 1700
修改为:
#if defined(_MSC_VER) && _MSC_VER >= 1700 && !defined(_USING_V110_SDK71_)


#1 [zj511 03-29 16:00]
qtbase\src\corelib\io\qfilesystemengine_win.cpp574行
原始为:
#if defined(Q_CC_MINGW) || (defined(Q_CC_MSVC) && _MSC_VER < 1700)
修改为:
#if defined(Q_CC_MINGW) || (defined(Q_CC_MSVC) && _MSC_VER < 1700) || (defined(Q_CC_MSVC) && _MSC_VER >= 1700 && defined(_USING_V110_SDK71_))
#2 [zj511 03-29 16:02]
修改qtbase\qmake\Makefile.win32 文件,在 CFLAGS_BARE后面加上 -D_USING_V110_SDK71_
CFLAGS_BARE = -c -Fo./ \
-DUNICODE -D_USING_V110_SDK71_
#3 [zj511 03-29 16:03]
修改
32位:
QMAKE_LFLAGS_CONSOLE= /SUBSYSTEM:CONSOLE,5.01
QMAKE_LFLAGS_WINDOWS= /SUBSYSTEM:WINDOWS,5.01
64位:
QMAKE_LFLAGS_CONSOLE= /SUBSYSTEM:CONSOLE,5.02
QMAKE_LFLAGS_WINDOWS= /SUBSYSTEM:WINDOWS,5.02
#4 [zj511 03-29 16:07]
DEFINES+= UNICODE WIN32
修改为:
DEFINES+= UNICODE WIN32 _USING_V110_SDK71_
#5 [zj511 03-29 16:08]
参考链接:
http://qt-project.org/forums/viewthread/30126
http://stackoverflow.com/questions/21840682/how-to-get-qt-4-5-to-build-using-vs2012-while-targeting-windows-xp

<< 1 2 >> (1/2)

回复 发表
主题 版块