win10+VS2010 64bit 编译QT
QT版本4.8.2
下载Qt工具包网址:
http://download.qt-project.org/archive/qt/4.8/4.8.2
选择VS2010版本的编译器: “qt-win-opensource-4.8.2-vs2010.exe”
选择Mngw版本编译器: “qt-win-opensource-4.8.2-Mingw.exe”
下载Qt Creator:
http://qt-project.org/downloads#qt-creator
Qt安装
- 创建文件夹,例如"\Qt-4.8.2";
- 安装“qt-win-opensource-4.8.2-vs2010.exe”到"\Qt-4.8.2"文件夹下;
- 打开VS2010界面,工具菜单栏下拉打开“Visual Studio Command Prompt(2010)”
- 在命令窗口中运行以下命令:
cd \Qt-4.8.2
set PATH += \ Qt-4.8.2
set PATH += \ Qt-4.8.2\bin
set LIB += C:\Program Files(x86)\Microsoft SDKs\Windows\v7.0A\Lib
set INCLUDE += C:\Program Files(x86)\Microsoft SDKs\Windows\v7.0A\Include - 配置FULL VERSION:
configure -platform win32-msvc2010 - 运行: 输入“nmake” ;(遇到编译问题,可参考下文)
- 添加“…\Qt-4.8.2\bin\”到环境变量“PATH”中;
NMAKE:fatal error U1077:"…(路径)\MSVS10.0\VC\BIN\cl.EXE":返回代码"0x2"
platform\DefaultLocalizationStrategy.cpp(327):error C2001:常量中有换行符
platform\DefaultLocalizationStrategy.cpp(327):fatal error C1057:宏扩展中遇到意外的文件结束
NMAKE:fatal error U1077:"…(路径)\MSVS10.0\VC\BIN\cl.EXE":返回代码"0x2"
Stop.
NMAKE:fatal error U1077:"…(路径)\MSVS10.0\VC\BIN\nmake.EXE":返回代码"0x2"
Stop.
NMAKE:fatal error U1077:“cd”:返回代码"0x2"
Stop.
NMAKE:fatal error U1077:“cd”:返回代码"0x2"
Stop.
解决方法:
打开这个文件:<Qt Dir>\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp
按Ctrl+G定位 到 327 行, 改为:
return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
清理
-
把 qmake.cache(和configure.cache)备份到别的地方
-
nmake confclean
-
把 qmake.cache(和configure.cache) 复制回原处
如果不这样,安装 qt-vs-addin 后进行 Qt Versions 添加路径时将失败。
安装qt-vs-addin插件
-
运行qt-vs-addin-1.1.11-opensource.exe
-
打开VS2010, 选择QT---->QT Options.在QTversions页面点击add, name中输入QT版本的名字,例如4.8.6,path中输入QT所在位置:D:\QtLib_4.8.6\qt-everywhere-opensource-src-4.8.6
-
环境变量path中添加D:\QtLib_4.8.6\qt-everywhere-opensource-src-4.8.6\bin
-
新建QT项目,编译时可能会弹出以下错误:
The following error occured:
There’s no Qt version assigned to this project for platform Win32. Please use the ‘change Qt version’ feature and choose a valid Qt version for this platform.
解决办法:
右键项目solution,选择“Change Solution's QT Version”---->选择当前的QT版本4.8.6。
补充:
VS2015+qt5的编译与之类似,参考 http://doc.qt.io/qt-5/windows-building.html