windows 7 + vs2010 sp1编译 x64位版qt4

由于qt官方没有发布预编译的64位版qt4,要使用64位版qt4,只能自己编译,编译过程如下:

1,下载源码并解压到D:qt-srcqt-everywhere-opensource-src-4.8.6,路径不能有空格

2,打开visual studio x64 win64命令控制台,进入相应目录。

    d:

    cd qt-srcqt-everywhere-opensource-src-4.8.6

3,设置环境变量

    set QTDIR=D:qt-srcqt-everywhere-opensource-src-4.8.6

   set QMAKESPEC=win32-msvc2010

4,运行configure,此命令将编译qmake和生成编译脚本

    configue -platform win32-msvc2010 -opensource -fast -qt-style-windowsxp -qt-style-windowsvista -no-qt3support -qt-sql-odbc -no-phonon -no-phonon-backend -no-script -no-scripttools -no-multimedia -nomake examples -nomake demos

5,4.8.x版本的源码里,有个字符问题会导致编译无法通过,先打开 :<Qt Dir>src3rdpartywebkitSourceWebCoreplatformDefaultLocalizationStrategy.cpp 文件,找到327行,原文是

        return WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

    改成

       return WEB_UI_STRING("Look Up "<selection>"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

    是引号问题导致。如果不改会报类似下面这样的错误:

    NMAKE:fatal error U1077:"cd":返回代码"0x2"
    Stop.
    NMAKE:fatal error U1077:"cd":返回代码"0x2"
    Stop.

6,运行nmake,开始编译,正常情况下过几个小时应该就会编译完成了。

7,运行清理,有几个清理选项,可根据自身情况选择。

    nmake clean           清理中间文件

    nmake confclean     清理配置

    nmake distclean      全部清理,如果要重新编译的话用这个选项

done!

参考链接:

http://blog.sina.com.cn/s/blog_671c54fe0100w0qz.html

http://blog.csdn.net/taigw/article/details/38130735

http://bbs.csdn.net/topics/380153284

http://www.tuicool.com/articles/IvURFfa

http://doc.qt.io/qt-4.8/install-win.html

原文地址:https://www.cnblogs.com/hhh/p/win7_vs2010sp1_compile_qt4_x64.html