1. 程式人生 > >Qt在Mac OS X下的程式設計環境搭建

Qt在Mac OS X下的程式設計環境搭建

在Mac OS X下使用Qt開發,需要配置Qt庫和編譯器。編譯器只能使用蘋果公司自主研發的Clang。
1、分別下載並安裝XCode和Command Line Tools(必須安裝),安裝完畢後,Clang就有了。

2、下載Qt並預設安裝

http://download.qt.io/official_releases/qt/,得到安裝包qt-opensource-mac-4.8.7.dmg和qt-opensource-mac-4.8.7-debug-libs.dmg。

前者是Qt release版的SDK,必須安裝;後者是debug版的SDK,可選安裝,如果使用者需要單步斷點除錯,則必須安裝。

3、配置Qt

(1)執行Qt Creator。進入“選單","Qt Creator","偏好設定"。可以看到,”編譯器“和”偵錯程式“,已經預設設定好了。

(2)使用者需要手動配置Qt版本

(3)再次進入”偏好設定“,使用者需要手動配置構建套件。

4、附錄,關於LLVM和Clang

Low Level Virtual Machine (LLVM) 是一個開源的編譯器架構,它已經被成功應用到多個應用領域。Clang ( 發音為 /klæŋ/) 是 LLVM 的一個編譯器前端,它目前支援 C, C++, Objective-C 以及 Objective-C++ 等程式語言。Clang 對源程式進行詞法分析和語義分析,並將分析結果轉換為 Abstract Syntax Tree ( 抽象語法樹 ) ,最後使用 LLVM 作為後端程式碼的生成器。
Clang 的開發目標是提供一個可以替代 GCC 的前端編譯器。與 GCC 相比,Clang 是一個重新設計的編譯器前端,具有一系列優點,例如模組化,程式碼簡單易懂,佔用記憶體小以及容易擴充套件和重用等。由於 Clang 在設計上的優異性,使得 Clang 非常適合用於設計原始碼級別的分析和轉化工具。Clang 也已經被應用到一些重要的開發領域,如 Static Analysis 是一個基於 Clang 的靜態程式碼分析工具。
Clang 的開發背景 : 由於 GNU 編譯器套裝 (GCC) 系統龐大,而且 Apple 大量使用的 Objective-C 在 GCC 中優先順序較低,同時 GCC 作為一個純粹的編譯系統,與 IDE 配合並不優秀,Apple 決定從零開始寫 C family 的前端,也就是基於 LLVM 的 Clang 了。Clang 由 Apple 公司開發,原始碼授權使用 BSD 的開源授權。

5、附錄,關於MinGW和GCC

       MinGW:一個可自由使用和自由釋出的Windows特定標頭檔案和使用GNU工具集匯入庫的集合,允許你生成本地的Windows程式而不需要第三方C執行時庫。MinGW,即 Minimalist GNU For Windows。它是一些標頭檔案和埠庫的集合,該集合允許人們在沒有第三方動態連結庫的情況下使用GCC 產生 Windows32 程式。
  在基本層,MinGW 是一組包含檔案和埠庫,其功能是允許控制檯模式的程式使用微軟的標準C執行時間庫(MSVCRT.DLL),該庫在所有的 NT OS 上有效,在所有的 Windows 95 發行版以上的 Windows OS 有效,使用基本執行時間,你可以使用 GCC 寫控制檯模式的符合美國標準化組織(ANSI)程式,可以使用微軟提供的 C 執行時間擴充套件。該功能是 Windows32 API 不具備的。下一個組成部分是 w32api 包,它是一組可以使用 Windows32 API 的包含檔案和埠庫。與基本執行時間相結合,就可以有充分的權利既使用 CRT(C Runtime)又使用 Windows32 API 功能。
mingw工具集合
  實際上 MinGW 並不是一個 單純的C/C++ 編譯器,而是一套 GNU 工具集合。除開 GCC 以外,MinGW 還包含有一些其他的 GNU 程式開發工具 (比如 gawk bison 等等)。開發 MinGW 是為了那些不喜歡工作在 Linux(FreeBSD) 作業系統而留在 Windows 的人提供一套符合 GNU 的 GNU 工作環境。所以,使用 MinGW 我們就可以像在 Linux 下一樣使用 GNU 程式開發工具。
  GCC 就是 MinGW 的核心所在,GCC 是一套支援眾多計算機程式語言的編譯系統,而且在語言標準的實現上是最接近於標準的。並且 GCC 幾乎可以移植到目前所有可用的計算機平臺。(我的電腦上就還裝有 DevKitPro,裡面包含 GCC 的 ARM(for GBA/DS/GP32) 和 MIPS(for PSP) 版本。)
  GCC 本身不像 VC 那樣擁有IDE 介面(在 Windows 上也存在Dev C++ 之類的支援 MinGW 編譯器的 IDE)。原始碼編輯你可以選用任何你喜歡的文字編輯器(據說微軟的開發人員包括 VC 的開發都不用 VC 所帶的 IDE 編輯器,而是選用 GNU 的 VIM 編輯器)。然後使用 make 等工具來進行軟體專案的編譯、連結、打包乃至釋出。而像 cvs(svn) 原始碼版本控制工具可以讓世界上任何一個角落的人都可以參與到軟體專案中來。
  關於 MFC,微軟基礎庫類,這個隨 VC++ 攜帶的一個原始碼公開的開發包,和其他 Windows 程式開發包是一樣的。如果有 VC++ 的授權,你完全可以使用 MFC 的原始碼,也就是你使用 GCC 來編譯 MFC 程式是完全可以的。
  當然,GNU 下也很多 Windows 程式開發包,甚至有一些是支援跨平臺使用的。不僅僅可以直接把原始碼編譯為 Windows 程式,也可以不經修改編譯為其他作業系統的圖形程式。
  不過 GNU 下,最流行的圖形介面開發庫是 GTK+與Qt。GTK+ 與Qt均提供跨平臺支援。例如qt支援windows、linux、mac os x、windows CE、symbian、meego等作業系統平臺,並且提供了Qt SDK(包含Qt creator整合開發環境)。Gtk也能很好的執行在 Windows 平臺(比如 GIMP 和 Gaim),。
  總體說來,MinGW 就是 GNU工具集。GCC(GNU Compiler Collection,GNU編譯器套裝),是一套由 GNU 開發的程式語言編譯器。它是一套以 GPL 及LGPL 許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。