一直習慣用VS,做QT項目時,不停的來回切IDE有些不方便。研究了一下QT的編譯。
實際QT編譯的機制和cmake是相同的,QT的IDE使用pro文件進行項目管理。QMake通過解析pro工程文件,生成makefile進行工程編譯。調試QT IDE自身沒有調試工具,正常情況下會使用GUN的GDB或VS的CDB等一些外部調試器進行調試的。
實際QT的IDE就是一個外部工具的開發集成環境。可以完全拋開QT的IDE開發QT項目。
方法: 設置的方法是把QT中的命令使用VS中MakeFile工程替換處理。 提示: 這里介紹的不是使用QT插件轉換QT工程這種方式
正常情況下完全可以寫一個批處理,編譯時直接執行一次。不過在VS中編譯主要一個好處,編譯的警告和錯誤信息可以雙擊定位。如果不需要看警告和錯誤信息,也可以直接使用批處理命令進行編譯。
1. 安裝QT插件
- a) 可以轉換QT工程
- b) 在調試時能看到QT類型的變量信息
菜單:Tool->Extensions and Updates…
2. 使用QT插件轉換工程
導入QT工程的目的是用於編輯,為了減少配置量。如搜索路徑,自能提示和代碼跳轉,需要正確的源代碼目錄。
問題:
a、 插件工程導入會有些問題,中文不認識會變成??
b、 有絕對路徑設置的,可能會出現錯誤處理:
直接使用記事本打開VS的工程,刪除即可。
3. 創建編譯工程
這步用於取代Qt中的編譯處理。
-
a、 創建MakeFile工程
-
b、 配置編譯路徑(Intermediate Directory)
-
- a) 右擊工程->選擇工程屬性菜單
-
- b) 選擇 通用->設置 中間路徑(構建目錄) 和 QT中設置的構建目錄一致
設置中間路徑目的是為QMake生成的Makefile到指定目錄。不設置默認會生成在工程目錄(可以正常使用)
- c、 設置調試工程
-
- a) Command 直接指向調試exe
- d、 設置編譯NMake
實際編譯命令即為QT中的編譯命令組合,VS中多條命令之間使用 && 進行連接
如:編譯 moguf.pro
. Qmake工程 .聯編 qmake.exe D:\moguf\code\moguf.pro -r -spec win32-msvc2010 "CONFIG+=debug" && cd /d D:\moguf\make && E:\Qt\Tools\QtCreator\bin\IncrediBuild.bat
其他命令清除、重新編譯依次設置。清除命令對應 QT清除步驟設置。重編命令就是 清除命令 + 編譯命令
- e、 設置完成
4. 編譯運行(OK)
- a) 設置MakeFile工程為啟動工程
- b) 運行調試
在輸出窗口就能看到Bulid信息,錯誤窗口可以看到編譯錯誤和警告(雙擊可以定位到代碼)。