由于qt官方没有发布预编译的64位版qt4,要使用64位版qt4,只能自己编译,编译过程如下:
1,下载源码并解压到D:\qt-src\qt-everywhere-opensource-src-4.8.6,路径不能有空格
2,打开visual studio x64 win64命令控制台,进入相应目录。
d:
cd qt-src\qt-everywhere-opensource-src-4.8.6
3,设置环境变量
set QTDIR=D:\qt-src\qt-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>\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.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