解析Visual Studio 2005中QT配置使用
Qt配置VS2005安裝環境(VS2005+QT+IntegrationPlugin)
1.正常安裝Visual Studio 2005,只要安裝了C++即可.。注意:不是Express版本.
2.下載Qt源代碼
Qt 4.3.2 Windows OpenSource版下載:
http://www.qtcn.org/download/qt-win-opensource-src-4.3.2.zip
ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-4.3.2.zip
3.解壓代碼
目錄結構建議:
- C:\Qt\4.3\ (<-- 打算用其他編譯環境)
- C:\Qt\4.3-msvc2005\ (<-- 如過你打算用Visual Studio 2005)
注意:目錄中間不要有空格,據說后面編譯會出問題.
4.編譯源代碼
通過"開始"菜單 -> "Microsoft Visual Studio 2005" -> "Visual Studio Tools", 運行命令行.
下面是檢查運行環境是否正確的方法,就是運行nmake命令
- D:\Qt\4.3.2-msvc2005> nmake /?
- Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
- Copyright (C) Microsoft Corporation. All rights reserved.
- Usage: NMAKE @commandfile
- NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]
- Options:
- ....
這個版本不需要打acs-4.3.x-patch3.zip就可以編譯了.
配置編譯的命令行:
- D:\Qt\4.3.2-msvc2005>configure -no-stl -no-dsp -vcproj
編譯過程中,會問一個問題:
是否接受GPL協議,選 'y'.
經過一段時間以后,qmake被編譯出來了.
接著編譯一大堆代碼,簡單的敲入nmake即可,這里,我花掉了兩個多小時.
5.配置環境變量
好像主要為了在命令行的時候使用.
在"我的電腦"上單擊右鍵,進入"屬性",然后打開"環境變量"對話框.
在PATH環境變量中添加:"D:\Qt\4.3.2-msvc2005\bin".
添加新的環境變量,名字為"QMAKESPEC",值為"win32-msvc2005".
6.安裝Visual Studio的插件
在網上下載Qt Visual Studio Integration v1.2.2 for.VS.2003.2005.exe,安裝之.
安裝的時候,用戶名任意,注冊碼為下列值之一:
- FGJ7UGX-WQPWJ6X-F4M-UG6ZQC-2G8N2G-6AYP3G-864F
- FGJ58F-HQGNCCM-F4M-BVY8ELX-8KG9WT-NU5JAQ-6C21
- FGBBY3M-WYYUFN9-F4M-GWEVVS9-WTKP39X-UKJUUDM-EE0D
- FGM9UXX-PJ8CRVX-F4M-UQDJFQ9-PXHXTQ-BZF46Y9-694B
7.配置Visual Studio 2005.
"Tools" -> "Options" -> "Qt" -> "Builds", 添加我們剛才編譯的Qt代碼,名字為"Qt 4.3.2", 路徑為"D:\Qt\4.3.2-msvc2005".
#p#
8.如果安裝Visual Assist的話,需要配置一下,才有代碼提示功能.
- "VAssistX" -> "Visual Assist X Options ..." -> "Projects"
在"Platform"里面把"Win32"改為"Custom",
在"Stable include files"末尾添加"D:\Qt\4.3.2-msvc2005\include".
9.寫一個小的測試用例吧.
啟動一個新的工程.
選擇"Qt projects" -> "Qt Application"類型,輸入工程名字,單擊OK.
一路Next,***Finish.
雙擊工程文件里面的"test.ui",馬上出現了所見及所得的窗體編輯器,在上面添加一個按鈕.
雙擊按鈕,產生相應的消息響應函數.
添加頭文件:
#include <QMessageBox>
在函數void Test::on_pushButton_clicked()體內添加如下代碼:
- QMessageBox box(this);
- box.setText("Haha, hit me.");
- box.exec();
編譯運行工程,效果如下:
【編輯推薦】