4、QT Creator + MinGW或MSVC 開發環境搭建


1、windows下QT的安裝

  直接點擊https://download.qt.io/archive/qt/進入,選擇要下載的版本。

  QT安裝版本選擇

  Qt4:    4.8.7      4.X 系列終結版本。Qt4.8.7是Qt4系列的終結版本,解決了以往的所有BUG。而且是打包需要帶的動態庫最小的,壓縮下基本上在3MB左右。CPU占用也是最小的,Qt4.8.7是最好的。

  Qt5 :   5.6 LTS  長期支持版本

  Qt5:    5.9 LTS  長期支持版本

  Qt5:    5.12 LTS 長期支持版本

  Qt5:    5.15 LTS 長期支持版本

  雙擊下載得到的 qt-opensource-windows-x86-5.9.0.exe 即可開始安裝。Qt 的安裝過程和普通的 Windows 軟件一樣,按照向導進行操作即可。

  關於 Qt 的安裝需要說明以下幾點。

(1) 注冊和登錄

  Qt 在安裝過程中會提示用戶進行注冊和登錄,不用理會,跳過(Skip)即可,實際開發時不需要登錄。

Qt 安裝過程中提示用戶注冊
           圖1:Qt 安裝過程中提示用戶注冊

(2)安裝路徑和關聯文件

指定Qt安裝路徑
             圖2:指定 Qt 安裝路徑

  Qt 允許用戶自定義安裝路徑,但是請注意,安裝路徑不能帶空格、中文字符或者其它任何特殊字符。

  另外,該界面還會詢問是否關聯特定的文件類型。如果關聯(默認是關聯的),特定后綴的文件(包括 .cpp 文件)默認使用 Qt 打開。我喜歡使用純文本編輯器(例如 Sublime Text)來打開 C++ 源文件,所以我取消了該選項,讀者根據自己的實際情況定奪。

(3) 選擇安裝組件

  Qt 安裝過程中最關鍵的一步是組件的選擇,請看下圖:

Qt組件
                         圖3:Qt 組件

  Qt 的安裝組件分為兩部分:一部分是“Qt 5.9”分類下的,該分類包含的是真正的 Qt 開發庫組件;另一部分是“Tools”分類下的,該分類包含的是集成開發環境和編譯工具。

Qt 安裝組件及其說明
“Qt 5.9”分類下的開發組件
組件 說明
MinGW 5.3.0 32 bit 編譯器模塊。MinGW 是 Minimalist GNU for Windows 的縮寫,MinGW 是 Windows 平台上使用的 GNU 工具集導入庫的集合。
UWP *** UWP 是 Windows 10 中 Universal Windows Platform 的簡稱,有不同編譯器類型的 UWP,屬於 MSVC 編譯器生成的 Qt 庫。如果不是開發 UWP 應用程序,就不需要,直接忽略。
MSVC *** 針對 Windows 平台上的 MSVC 編譯器的 Qt 組件,如 msvc2015 32-bit 和 msvc2015 64-bit 等。安裝該組件需要計算機上已經安裝相應版本的 Visual Studio。如果你不使用 MSVC 編譯器進行開發,就不用安裝。
Android *** 這是針對安卓應用開發的 Qt 庫,如果讀者有安卓開發這方面需求可以自己選擇安裝,一般情況下用不到。
Sources Qt 的源代碼包,除非你想閱讀 Qt 的源碼,否則不用安裝。
Qt *** Qt 的附加模塊,大部分建議安裝,這些附加模塊括號里的 TP 是指 Technology Preview ,技術預覽模塊的意思,還處在功能測試階段,不是正式版模塊;附加模塊括號里的 Deprecated 是指拋棄的舊模塊,兼容舊代碼使用的,一般用不到。這些附加模塊讀者可以選擇部分或都勾選了安裝,占用空間不大。
部分組件說明:
  • Qt Charts 是二維圖表模塊,用於繪制柱狀圖、餅圖、曲線圖等常用二維圖表。
  • Qt Data Visualization 是三維數據圖表模塊,用於數據的三維顯示,如散點的三維空間分布、三維曲面等。
  • Qt Scritp(Deprecated)是腳本模塊,已被拋棄,不建議安裝。
“Tools”分類下的開發組件
組件 說明
Qt Creator 4.3.0 這是集成開發環境,強制安裝的,以后所有的項目和代碼都在 Qt Creator 里面新建和編輯。
Qt Creator 4.3.0 CDB Debugger surpport 用於和 CDB 調試工具對接,默認安裝,一般用於調試 VC 編譯的 Qt 程序。
MinGW 5.3.0 這是開源的編譯器套件,這本教程必須用到的,需要讀者勾選安裝。
Strawberry Perl 5.22.1.3 用於編譯 Qt 源代碼的 Perl 開發環境,不需要安裝。如果讀者以后用到,也可以另外手動安裝,在搜索引擎搜索 Strawberry Perl 關鍵詞,去 Strawberry Perl 官網下載最新的安裝包是一樣用的。


  選擇完了組件,根據向導一步一步操作就可以了。安裝完成后,在 Windows“開始”菜單中會看到 Qt 5.9.0 程序組。

Qt 5.9.0所包含的程序
        圖4:Qt 5.9.0 所包含的程序
 
對各個程序的說明
程序 說明
Qt Creator 4.6.2 (Enterprise) Qt 的集成開發環境,本教程就使用它來創建和管理 Qt 項目。
Assistant(Qt 助手) 用來查看幫助文檔,已被集成在 Qt Creator 中。
Designer(Qt 設計師) 圖形界面可視化編輯工具,已被集成在 Qt Creator 中,在 Qt Creator 中編輯或創建界面文件時,就可以自動打開。
Linguist(Qt 語言家) 多國語言翻譯支持工具,可以用來編輯語言資源文件,在開發多語言界面的應用程序時會用到。
Qt 5.11.1 for Desktop (MinGW 5.3.0 32bit) Qt 命令行工具,用來配置 Qt 開發環境(主要是設置 PATH 變量)。

  1.1、QT自帶的調試編譯器環境配置(默認)

  1.2、使用MSVC編譯器時的環境配置 

  (1)、QT+MSVC2015安裝以及環境配置(不需要安裝VS2015)

  出發點是不想完整安裝VS2015,只想安裝C++編譯器,然后提供給Qt Creator使用。

  也就是說Windows下開發應用或庫時,如果不想安裝完整的Visual Studio,可以選擇只安裝Visual C++ Build Tools即可。

  1)、在鏈接 https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/,找到可再發行組件和生成工具:Microsoft Visual C++ 2015 Redistributable 更新 3、Microsoft 生成工具 2015 更新 3

 

 

    下載完后進行安裝。需要注意的一點是,在安裝VS2015的生成工具的時候不要選擇默認安裝,選擇自定義安裝並且選擇對應自己操作系統的SDK版本(默認的是win8.1的)。

    visualcppbuildtools_full.exe默認是在線安裝,我們也可以設置成離線安裝:visualcppbuildtools_full.exe /layout d:\vs2015。

    安裝完后在QT裝備編譯器中可以看到如下圖所示:

  2)、安裝用於程序調試的WinDbg調試器,微軟官方把WinDbg調試器隱含到Windows SDK中了,所以要安裝Windows SDK。Windows SDK是微軟每推出一個重要的windows版本,一般都會同時推出一個SDK(Software Development Kit)。

  下載鏈接: https://developer.microsoft.com/en-us/windows/downloads/sdk-archive,根據自己安裝的系統選擇

 

   注意只需要裝Debuggers調試環境Debugging Tools for Windows。也可以選擇全部完整地安裝Windows SDK 。

  VS調試時,只使用自己帶的調試器,不會使用WinDbg。WinDbg安裝目錄包含有CDB。CDB可以提供給Qt Creator調用。

  如果系統安裝了Windows SDK,但是在調試時顯示Unable to create a debugging engine.表示安裝Windows SDK時沒有選擇安裝Debuggers調試環境Debugging Tools for Windows,這時在控制面板的應用與程序里面找到windows software development kit,右鍵選擇更改,將Debuggers調試環境Debugging Tools for Windows安裝上即可。

 

  3)、安裝完成后系統會自動檢測到QT versions,Compilers,Debuggers等,然后在Qt Creator配置選項Kits裝備選項中配置構建套件kit。

  4)、源碼編碼格式

  注意: Qt Creator -> Options -> Text Editor -> Behavior -> File Encodings 更改設置為 "UTF-8",BOM設置為"Add If Encoding Is UTF-8",這樣才能正確識別中文。總之VC++編譯器只能識別ANSI和UTF-8+BOM這兩種編碼。不識別UTF-8。
  (2)、QT+VS2015安裝以及環境配置(安裝了VS2015)

   安裝了VS2015后編譯器就不用在安裝了,因為安裝VS2015時編譯器會自動安裝,這時就只需要安裝Windows SDK即可,安裝完后在QT中配置就可以了。

2、Linux下QT的安裝

  Linux 發行版雖然眾多,但 Qt 安裝過程大同小異,本節以 CentOS 7 為例來演示 Qt 的安裝。

  在《Qt下載》一節中我們已經講解了 Qt 安裝包的下載方式,Qt 5.9.0 Linux 安裝包的名稱為 qt-opensource-linux-x64-5.9.0.run。

  下載的 run 文件不一定具有可執行權限, 可以執行如下命令開啟執行權限:

  chmod +x /文件夾路徑/qt-opensource-linux-x64-5.9.0.run

  將“文件夾路徑”替換為自己系統里該 run 文件的路徑即可。然后可以直接點擊運行該 run 文件,開始安裝。

  注意以下是以普通用戶權限安裝的,安裝位置是 /home/用戶名/Qt5.9.0/,如果希望安裝到其他的目錄(如 /opt/ 目錄),是需要 root 權限的。

  下面示范簡單的普通用戶安裝方式,需要用戶主目錄 /home 所在磁盤分區至少剩余 2GB 空間。所示范的是 64 位安裝包,使用的發行版是 CentOS 7(64 位)。

  運行 qt-opensource-linux-x64-5.9.0.run 文件,根據向導一步步安裝就可以了。關於 Qt 的安裝需要說明以下幾點。

  (1)注冊和登錄

  Qt 在安裝過程中會提示用戶進行注冊和登錄,不用理會,跳過(Skip)即可,實際開發時不需要登錄。

Qt 安裝過程中提示用戶注冊
           圖1:Qt 安裝過程中提示用戶注冊

  (2)安裝路徑

  Qt 在安裝過程中允許自定義安裝路徑,我將 Qt 安裝在主目錄下的 programs/Qt5.9.0 文件夾中,一般使用默認路徑即可。

指定 Qt 安裝路徑
           圖2:指定 Qt 安裝路徑

  (3)選擇安裝組件

  Qt 安裝過程中最關鍵的一步是組件的選擇,請看下圖:

Qt 組件
               圖3:Qt 組件

  Qt 的安裝組件分為兩部分:一部分是“Qt 5.9”分類下的,該分類包含的是 Qt 開發庫,也就是動態鏈接庫或者靜態鏈接庫;另一部分是“Tools”分類下的,該分類包含的是集成開發環境(可執行程序),也就是 Qt Creator(在 Windows 下還會有其它工具)

 
Qt 安裝組件及其說明
“Qt 5.9”分類下的開發庫
開發庫 說明
Desktop gcc 64-bit 這是使用桌面版 GCC 64-bit 編譯環境生成的 Qt 庫,是 Qt 的核心,必須安裝。

注意,雖然名字看起來像是 GCC 編譯器套件,但實際上說的是 Qt 庫的編譯環境。大部分 Linux 發行版都會預裝 GCC 編譯器套件,所以 Qt 安裝包沒必要附帶它們。
Android *** 這是針對安卓應用開發的 Qt 庫,如果讀者有安卓開發這方面需求可以自己選擇安裝,一般情況下用不到。
Sources Qt 的源代碼包,除非你想閱讀 Qt 的源碼,否則不用安裝。
Qt *** Qt 的附加模塊,大部分建議安裝,這些附加模塊括號里的 TP 是指 Technology Preview ,技術預覽模塊的意思,還處在功能測試階段,不是正式版模塊;附加模塊括號里的 Deprecated 是指拋棄的舊模塊,兼容舊代碼使用的,一般用不到。這些附加模塊讀者可以選擇部分或都勾選了安裝,占用空間不大。

部分組件說明:
  • Qt Charts 是二維圖表模塊,用於繪制柱狀圖、餅圖、曲線圖等常用二維圖表。
  • Qt Data Visualization 是三維數據圖表模塊,用於數據的三維顯示,如散點的三維空間分布、三維曲面等。
  • Qt Scritp(Deprecated)是腳本模塊,已被拋棄,不建議安裝。
“Tools”分類下的集成開發環境
集成開發環境 說明
Qt Creator 4.3.0 這是集成開發環境,強制安裝的,以后所有的項目和代碼都在 Qt Creator 里面新建和編輯。

  選擇完了組件,根據向導一步一步操作就可以了。安裝完成后,在左上角“應用程序 --> 編程”菜單中可以看到 Qt Creator,證明安裝成功了。點擊 Qt Creator,就可以開始 Qt 編程了。

Qt 安裝完成
             圖4:Qt 安裝完成

 對於很多 Linux 發行版本,Qt 安裝完成后如果直接編譯或者運行項目,會出現“cannot find -lGL”錯誤,如下圖所示:

cannot find -lGL

  (4)Linux Qt cannot find -lGL錯誤完美解決方案(親測有效)

  這是因為 Qt 找不到 OpenGL 的動態鏈接庫(libGL.so)。OpenGL 在大部分 Linux 發行版中都是默認安裝的,包括 Ubuntu、CentOS 等,找不到該鏈接庫一般都是路徑不對。

  Qt 默認在 /usr/lib/ 目錄下查找動態鏈接庫,但是很多 Linux 發行版將 OpenGL 鏈接庫放在其它目錄,例如我使用的是 CentOS 7,OpenGL 鏈接庫位於 /usr/lib64/ 目錄,而對於 Ubuntu,OpenGL 鏈接庫位於 /usr/lib/i386-linux-gnu/mesa/ 目錄。只要我們把 libGL.so 拷貝到 /usr/lib/ 目錄,或者在 /usr/lib/ 目錄下為 libGL.so 創建一個鏈接,就能解決問題。顯然第二種辦法更好。

  另外,Linux 發行版自帶的 OpenGL 鏈接庫在后綴中添加了版本號,例如 libGL.so.1、libGL.so.1.2.0、libGL.so.1.3.1 等,但是 Qt 在鏈接階段查找的 OpenGL 鏈接庫是不帶版本號的。

  總起來說,我們需要在 /usr/lib/ 目錄下為 OpenGL 鏈接庫創建一個鏈接,並去掉版本號。

  如果你不知道當前 Linux 系統中 libGL.so 的具體路徑,可以使用locate libGL命令或find /usr -name libGL*命令查找,然后使用ln -s創建鏈接。請看下面的演示:

復制代碼
#查找 libGL 所在位置
[root@localhost ~]# locate libGL
/usr/lib64/libGL.so
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.2.0
/usr/share/doc/mesa-libGL-9.2.5
/usr/share/doc/mesa-libGL-9.2.5/COPYING

#創建鏈接
[root@localhost ~]# ln -s /usr/lib64/libGL.so.1 /usr/lib/libGL.so
復制代碼

  Linux 系統中可能存在多個版本的 libGL.so,為任意一個版本創建鏈接即可。普通用戶沒有權限創建鏈接,所以我使用了 root 用戶。

  完成以上操作,再次啟動 Qt,然后編譯或者運行,就不會出現“cannot find -lGL”錯誤了。

3、Qt 安裝目錄結構

  了解 Qt 安裝目錄的結構雖然不是編程必須的,但是它能練就我們的內功,讓我們對 Qt 的編程環境了如指掌。Windows 和 Linux 下 Qt 安裝目錄的結構非常相似,我們以 Windows 為例進行講解,Linux 不再贅述。

  (1)Qt 整體目錄結構

  不同版本 Qt 的安裝目錄結構大同小異,本節我們以 Qt 5.9.0 為例來說明,如下圖所示。

Qt 安裝目錄的結構
                           圖1:Qt 安裝目錄的結構

  為了方便描述,下文我們使用~表示 Qt 的安裝目錄。

  注意,~\5.9\ 和 ~\Tools\ 目錄下都有 mingw53_32 目錄(圖中我用紅色標出來了),但是兩者是有區別的:

  • ~\5.9\mingw53_32\ 目錄包含的是 Qt 的類庫文件,例如頭文件、靜態庫、動態庫等,這些類庫文件使用 MinGW 工具集編譯而成。
  • ~\Tools\mingw53_32\ 目錄包含的是 MinGW 工具集,例如編譯器 g++、鏈接器 ld、make 工具、打包工具 ar 等。

  QtCreator 是個例外,QtCreator 使用 MSVC2015 編譯生成的,所以安裝目錄里有一個 vcredist 文件夾存儲 VC 運行庫安裝文件。

  最后的 MaintenanceTool.exe ,對於離線安裝包,它只能用於刪除軟件包,如果 Qt 開發環境是用在線安裝方式裝的,這個工具還可以管理開發環境組件和升級組件。

  Qt 類庫的幫助文件位於 Docs 文件夾里,需要用 Qt Assistant 工具才能查看。

  Examples 里是示例代碼,可以用 QtCreator 集成開發環境打開各個示例。

  (2)Qt 類庫目錄

  下面我們再探究一下 Qt 類庫目錄(~\5.9\mingw53_32\)的結構,如下圖所示。

Qt 類庫目錄
                             圖2:Qt 類庫目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM