https://blog.csdn.net/chenbang110/article/details/7607250
首先不要使用中文目錄,
1 下載Qt的安裝包和VS2010的Qt插件
2. 安裝Qt SDK
3. 安裝Qt的VS開發插件
4. 編譯Qt
Qt默認使用mingw進行編譯,如果要使用VS2010開發,需要將Qt重新編譯。
進入開始菜單Microsoft Visual Studio 2010,Visual Studio Tools,Visual Studio Command Prompt (2010),需要注意的是,這里面必須是使用Visual Studio Command Prompt (2010),不能使用CMD的Dos窗口
進入Qt的安裝目錄后,執行CD Qt,進入Qt的根目錄
運行命令 configure -platform win32-msvc2010
o(選擇opensource模式)回車,Y(同意license)回車
接着就會自動配置Qt的編譯環境,等配置結束后,運行nmake,回車,Qt就會開始漫長的編譯過程,這段時間非常長,需要4個小時以上,大家可以在晚上睡覺的時候進行編譯。
我在編譯的時候有兩次錯誤需要處理,解決方法如下
編譯大概1個小時之后,出現:
01.api/qscriptextensionplugin.h(43): Error: Undefined interface
02.NMAKE : fatal error U1077: 'C:/Qt/2009.05/qt/bin/moc.exe' : return code '0x1'
03.Stop.
04.NMAKE : fatal error U1077: '"d:/Program Files/Microsoft Visual Studio 9.0/VC/BIN
05./nmake.exe"' : return code '0x2'
06.Stop.
07.NMAKE : fatal error U1077: 'cd' : return code '0x2'
08.Stop.
api/qscriptextensionplugin.h(43): Error: Undefined interface
NMAKE : fatal error U1077: 'C:/Qt/2009.05/qt/bin/moc.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"d:/Program Files/Microsoft Visual Studio 9.0/VC/BIN
/nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
以上是出錯代碼,解決方法是將
qt/src/script/tmp/moc/debug_shared/mocinclude.tmp
qt/src/script/tmp/moc/release_shared/mocinclude.tmp
刪除,然后繼續編譯。
過了很長時間之后,在編譯webkit部分的代碼時,會發生錯誤,系統會停止編譯
D:/tools/Qt/2010.05/qt/src/3rdparty/webkit/WebCore/tmp/moc/debug_shared/moc_Sock
etStreamHandlePrivate.cpp(97) : error C2065: “QSslError”: 未聲明的標識符
D:/tools/Qt/2010.05/qt/src/3rdparty/webkit/WebCore/tmp/moc/debug_shared/moc_Sock
etStreamHandlePrivate.cpp(97) : error C3861: “socketSslErrors”: 找不到標識符
正在生成代碼...
NMAKE : fatal error U1077: “"D:/tools/Microsoft Visual Studio 10.0/VC/BIN/cl.EX
E"”: 返回代碼“0x2”
Stop.
NMAKE : fatal error U1077: “"D:/tools/Microsoft Visual Studio 10.0/VC/BIN/nmake
.exe"”: 返回代碼“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代碼“0x2”
Stop.
解決方法是將
qt/src/3rdparty/webkit/WebCore/tmp/moc/debug_shared/mocinclude.tmp
qt/src/3rdparty/webkit/WebCore/tmp/moc/release_shared/mocinclude.tmp
刪除之后可以繼續編譯(重新執行nmake命令)
然后編譯就可以正常了。
下面是配置vs2010
5.配置VS2010的Qt開發環境(VS2010最好是英文版本,Qt對VS2010中文版本可能支持的不好)
等Qt編譯好后就可以配置VS2010的開發環境了,進入VS2010,選擇Qt菜單,Qt Option,進入下圖界面
點擊Add,添加Qt的安裝目錄
此時我又遇到了一個問題,QT in the given path was built using minGW
解決方法如下
刪除lib目錄下面的libqtmain.a and libqtmaind.a 文件即可
清理前,切記把 qmake.cache和configure.cache備份到別的地方,然后
nmake confclean 騰出空間。
最后再把 qmake.cache和configure.cache 復制回遠處。
如果不這樣,安裝 qt-vs-addin 后進行 Qt Versions 添加路徑時將失敗。