2月 06, 2009

【介紹】GCC / MinGW

@
  說到 C/C++ 的開發環境,就不能不提到 GCC。GCC 是 GNU Compiler Collection (GNU 編譯器總集)的縮寫,為 GNU 計畫中一套多種程式語言編譯器的集合。在諸多 Unix-likeMac OS X 中都成為其內建的程式開發環境。

  其實,GCC 最初的名稱為 GNU C Compiler(GNU C 語言編譯器)。在當時,GCC 還只是一個專門處理 C 語言的編譯器。而在後來 GCC 擴展之後,慢慢的也可以處理 C++、FortranAdaJavaObjective-C 等語言。發展至今,就是現在我們所看到編譯器總集了。


  雖然在 Unix-like 與 Mac OS X 系統中都已經內建了 GCC 的環境,但是若要在 Windows 系統下擁有相同的環境,你可能就需要安裝 MinGW 了。

  MinGW 即 Minimalist GNU for Windows,為包含了 GCC、GDB(GNU Debugger)binutils 等工具的 GNU 工具組(toolchain)移植到 Windows 平臺上的版本。其包含了許多提供 Windows API 的標頭檔以及函式庫,使程式開發者能直接使用它來開發原生的(native) Windows 程式。


  想要在 Windows 平臺上安裝 MinGW,我們需要先連結到 MinGW 的下載頁



  點選 MinGW 5.1.4(請選擇你當前的最新版本)。



  點選 MinGW-5.1.4.exe,就能夠下載了。



  下載完成以後,就能開始安裝的動作。

  首先,安裝程式會詢問你,是否要在檔案下載好後要直接安裝檔案。

  這裡我們先解釋選擇 "Download and install",也就是下載完成之後直接安裝檔案。



  接著會詢問要安裝哪一種封包。你可以選擇舊版(Previous)、當前版(Current)、或是先行版(Candidate)。

  這裡我們建議選擇穩定的 "Current" 版本。



  然後我們需要選擇要安裝的部份。

  其中,runtime (即 runtime library)是 MinGW 運行的基礎;而 w32api 則為 Windows API 的標頭檔與函式庫。

  另外,make 則是透過 makefile 來組織程式原始檔,以進行編譯原始碼工作的工具。

  而剩下的 core compiler、g++ compiler、g77 compiler、Ada Compiler、Java Compiler 與 Objective C Compiler,則分別為 C、C++、Fortran、Ada、Java 與 Objective C 的編譯器。

  為了要建置完整的 C/C++ 環境,這裡我們需要勾選 runtimew32apicore compilerg++ compilermake

  當然,假如需要的話,你也可以自行勾選下載其它編譯器。



  接著選擇 MinGW 的安裝目錄。









  接著等待它下載、安裝之後就完成了。




  而若是我們選擇 "Download Only",也就是只下載不安裝呢?



  這裡同樣會詢問你要安裝哪一種封包。

  當然囉,我們還是選擇穩定的 "Current" 版本。



  接著選擇要安裝的部份。

  同樣為了建置完整的 C/C++ 環境,這裡我們需要勾選 MinGW base toolsg++ compilerMinGW Make







  等待下載完成之後,你應該能夠在 MinGW 安裝檔的相同目錄下,看到由安裝程式下載下來的壓縮檔。

  你只需要將它們解壓縮,並放置到你想要的地方就可以了。


  最後,我們還要做一點環境設定。

  首先,請在「我的電腦」按下右鍵,選擇「內容」。



  接著選擇「進階」標籤頁,按下「環境變數」。



  若是你 MinGW 的環境是要給所有使用者使用的,你需要把 MinGW 目錄下 bin 資料夾的完整路徑加到系統變數 PATH 的尾端。例如:C:\MinGW\bin

  若是 PATH 變數中已有變數值,則請先在尾端加入分隔符號 ";",再加入 bin 資料夾的目錄。



  而若是你的 MinGW 環境只想給當前的使用者使用,你則要改成把 MinGW 目錄下 bin 資料夾的完整路徑加到使用者變數 PATH 的尾端。

  同樣的,若是 PATH 變數中已有變數值,則請先在尾端加入分隔符號 ";",再加入 bin 資料夾的目錄。


  接著,讓我們測試一下 MinGW/GCC 是否已經配置妥當了。

  若是在 Unix-like 的系統,請開啟你的 shell;若是在 Windows 系統下,請按「開始功能表」並點選「執行」,輸入 "cmd" 以開啟命令提示工具。

  接下來,你只需要輸入:

gcc -v

  或是:

g++ -v

  假如有出現 GCC 的版本資訊,就是成功囉!


相關連結:
.GCC - http://gcc.gnu.org/
.MinGW - http://www.mingw.org/

3 回覆:

Unknown 提到...

很棒的說明^^

想請教一下,請問你有在 windows 環境下編譯過 GCC 嗎?
目前利用 Mingw 自動安裝的 gcc 版本為 3.4.5
若是想用 C++0x 的功能 eq. Lambda expression

則需要 4.5 的版本~
目前我還無法順利編譯出來 ~~

Unknown 提到...

你好,我沒有實際在 Windows 下編譯過 GCC。
不過我記得 MinGW 的下載頁中,可以直接下載編譯好的 GCC 4.X 版本。
http://sourceforge.net/downloads/mingw/MinGW/BaseSystem/GCC/Version4/gcc-4.5.0-1/

你可以試著下載,然後直接解壓縮到當前安裝 MinGW 的資料夾中。
不過要記得先把原始檔案備份,我記得好像會有一些問題。

可仁 提到...

寫的很好。雖然已經 2018 了仍不過時。

張貼留言