[心得] 編譯 Qt4 on Visual Studio
Qt4 Open Source Edition 本身在 Windows 下並不支援用 gcc 以外的編譯器編譯,
不過經由非官方的 patch, 可以支援 Visual Studio (express), 簡單講解一下步驟。
用 Evaluate 版跟 Commercial 版的不用直接跳出去吧, 因為沒這問題。囧
本說明參考
http://wiki.qtcentre.org/index.php?title=Qt4_with_Visual_Studio
http://kjellkod.blogspot.com/2007/02/qt4-on-free-ide-visual-studio-express.html
並修改一些順序, 習慣看英文的就直接看這篇。
測試環境是用:
Visual C++ 2005 Express SP1
Windows SDK Update for Windows Vista
Qt/Windows Open Source Edition 4.3.0
來開始吧!
一、預先需求與設定
在編譯 Qt4 我們總共需要:
1. Qt4/Windows Open Source Edition
http://trolltech.com/developer/downloads/qt/windows
2. Qt4 patch for Advanced Compiler Support:
http://sourceforge.net/project/showfiles.php?group_id=49109&package_id=165202
3. Windows SDK(有在 windows 開發的應該都有裝 ...)
這個用 Windows Vista 還是 Windows Server 2003 都可以,
Vista 的 ISO 檔: http://0rz.tw/832Sb
exe 檔: http://0rz.tw/1b2SW
將 1. 跟 2. 解壓縮到同一個目錄後, 執行 installpatch43.bat 進行 patching。
二、Windows SDK 設定:
1. 安裝 Windows SDK, 依照指示進行即可。
除了 Headers and Libraries 之外, 都可以不用裝。
2. (非必需) 若是用 Visual C++ 2005 Express, 需要再將 Win SDK 的目錄加進
環境變數中以及 VC++ IDE 的設定:
2a. 執行 Microsoft Windows SDK \ Visual Studio Registration \
Integrate Windows SDK with Visual Studio 2005
2b. 開啟 Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat
2c. 檔案開頭加入以下指令:
@set PATH=C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin;%PATH%
@set INCLUDE=C:\Program Files\Microsoft SDKs\Windows\v6.0\Include;%INCLUDE%
@set LIB=C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib;%LIB%
(以上目錄請依自己環境作修改)
三、編譯 Qt4
先決定好 Qt4 安裝的目錄(例 C:\Qt4), 不要有空格, 底下皆用 C:\Qt4;
而 Qt4 的原始檔目錄則用 D:\Qt4-src。請依自己的設定改變。
1. 複製 D:\Qt4-src\mkspecs 目錄到 C:\Qt4
2. 執行 Visual Studio command prompt (Visual Studio 命令提示字元)
3. 到 D:\Qt4-src 中, 執行
qconfigure spec -prefix C:\Qt4 [options] && nmake
其中 spec 可以是
msvc (給 VC6 環境用)
msvc.net (給 VS .NET 2003 環境用)
msvc2005 (給 VC 2005 環境用)
依照你的環境選擇;options 請參閱 configure.exe -h 輸出的說明。
-prefix 選項後接 C:\Qt4, 之後會直接安裝到該目錄。
4. (非必需) 若用 msvc2005 編譯的, 因為會產生 .manifest 檔案,
直接安裝會漏掉, 解決方法有二, 一是將 .manifest 檔案手動複製至 C:\Qt4,
二是用 mt 將 .exe 跟 .manifest 檔案合併,
4a. 先開啟 Visual Studio Command Prompt:
4b. 到 D:\Qt4-src 目錄
4c. 執行
for /r %f in (*.exe.manifest) do mt -manifest %f -outputresource:%~dpnf;#1
5. 若編譯沒出現任何問題的話, 執行
nmake install
安裝,或是分成三個指令
nmake install_qmake
nmake sub-src-install_subtargets
nmake install_htmldocs
(我沒試過)
ok, 現在可以到 QTDIR\bin 中執行任一個執行檔, 例 designer 看有沒有問題 :p
四、設定 Qt4 環境環境變數:
1. 到 控制台 \ 系統 \ 進階 \ 環境變數
2. 新增兩個系統變數
變數名稱: QTDIR
變數值: C:\Qt4
變數名稱: QMAKESPEC
變數值: win32-msvc2005
(若用 msvc.net 就用 win32-msvc.net 依此推類)
3. 修改 PATH 變數值, 最後增加 C:\Qt4。
五、設定 Visual Studio 環境變數:
1. 開啟 VS, 到 Tools \ Options \ Projects and Solutions \ VC++ Directories
2. 選 Includes Files 將下列全部加進去:
$(QTDIR)\include
$(QTDIR)\include\Qt
$(QTDIR)\include\QtCore
$(QTDIR)\include\QtGui
$(QTDIR)\include\QtNetwork
$(QTDIR)\include\QtSvg
$(QTDIR)\include\QtXml
$(QTDIR)\include\Qt3Support
$(QTDIR)\include\ActiveQt
3. 選 Library files 加入 $(QTDIR)\lib
4. (非必備) 若要用 Intellisense, 就需要以下步驟:
4a. 將 D:\Qt4-src\src 目錄複製到 C:\Qt4
4b. 選 Source files 加入 $(QTDIR)\src
這樣就大抵完成了。
六、編譯 Qt 程式
1. File \ New Project \ Visual C++ \ General \ Makefile Project
2. 接下來要把 qmake 跟 nmake 指令合併,
2a. 點 next, 設定 debug configuration,
Build Command Line:
qmake -project && qmake && nmake debug
Rebuild Command Line:
qmake -project && qmake && nmake debug
Clean Command Line:
nmake debug-clean
2b. 點 next, 設定 release configuration,
Build Command Line:
qmake -project && qmake && nmake release
Rebuild Command Line:
qmake -project && qmake && nmake release
Clean Command Line:
nmake release-clean
完成後點選 Done.
2c. 最後, 若要 debug 必須再設定將 Configuration Properties \ Debug \ Command
設定到該程式檔。
4. 這樣應該就可以 build, 隨便拿 Tutorial 上的範例編編看。Try it.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.210.6
※ 編輯: xcycl 來自: 140.116.210.6 (07/23 23:12)
→
07/23 23:51, , 1F
07/23 23:51, 1F
推
07/24 00:41, , 2F
07/24 00:41, 2F
推
07/24 13:06, , 3F
07/24 13:06, 3F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章