[心得] 編譯 Qt4 on Visual Studio

看板C_and_CPP (C/C++)作者 (XOO)時間17年前 (2007/07/23 22:11), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/1
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
文章代碼(AID): #16fBSgPP (C_and_CPP)
文章代碼(AID): #16fBSgPP (C_and_CPP)