• 8631阅读
  • 9回复

[共享]msvc2013编译 Qt5.2.1支持XP 方法 [复制链接]

上一主题 下一主题
离线zj511
 

只看楼主 倒序阅读 楼主  发表于: 2014-03-29
今天 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_)
离线zj511

只看该作者 1楼 发表于: 2014-03-29
qtbase\src\corelib\io\qfilesystemengine_win.cpp  574行
原始为:
#  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_))
离线zj511

只看该作者 2楼 发表于: 2014-03-29
修改  qtbase\qmake\Makefile.win32 文件,在 CFLAGS_BARE后面加上 -D_USING_V110_SDK71_

    CFLAGS_BARE = -c -Fo./ \
                  <...snip...>
                  -DUNICODE -D_USING_V110_SDK71_
离线zj511

只看该作者 3楼 发表于: 2014-03-29
修改  
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
离线zj511

只看该作者 4楼 发表于: 2014-03-29

DEFINES                += UNICODE WIN32
修改为:
DEFINES                += UNICODE WIN32 _USING_V110_SDK71_
离线zj511

只看该作者 5楼 发表于: 2014-03-29
离线sankeyou

只看该作者 6楼 发表于: 2014-03-31
终于知道咋解决了,哎,谢谢楼主
离线sankeyou

只看该作者 7楼 发表于: 2014-03-31
楼主顺便请问,编译了源码之后,使用qtcreator开发的时候,还需要增加或修改编译参数吗,如果修改,怎么修改,谢谢,因为我找了半天资料也不知道怎么在qtcreator加vc的编译参数,和链接参数好郁闷。
我在重新编译源码中,谢谢楼主
离线zj511

只看该作者 8楼 发表于: 2014-03-31
回 sankeyou 的帖子
sankeyou:楼主顺便请问,编译了源码之后,使用qtcreator开发的时候,还需要增加或修改编译参数吗,如果修改,怎么修改,谢谢,因为我找了半天资料也不知道怎么在qtcreator加vc的编译参数,和链接参数好郁闷。
我在重新编译源码中,谢谢楼主 (2014-03-31 22:03)

在 mkspecs\win32-msvc2013\qmake.conf中修改就可以
不是源码中的哦,是你编译后安装的那个

离线sankeyou

只看该作者 9楼 发表于: 2014-03-31
好的楼主,谢谢,太感谢了。
快速回复
限100 字节
 
上一个 下一个