MinGW安裝教程——著名C/C++編譯器GCC的Windows版本

0.MinGW

前言
本文主要講述如何安裝 C語言 編譯器——MinGW,特色是文章附有完整詳細的實際安裝過程截圖,文字反而起說明提示做用。程序員

編寫本文的緣由始於個人一個觀點:圖片能夠比文字傳達更多的信息,也能讓其餘人更容易理解做者的意圖及思想。所以,我將安裝 MinGW 的過程和步驟,編寫成了這篇以圖片爲主的教程,爲了讓看到這篇文章的任何人,均可以很容易按照圖片所示正確安裝 MinGW。編程

 

1、什麼是 MinGW ?
MinGW 的全稱是:Minimalist GNU on Windows 。它其實是將經典的開源 C語言 編譯器 GCC 移植到了 Windows 平臺下,而且包含了 Win32API 和 MSYS,所以能夠將源代碼編譯生成 Windows 下的可執行程序,又能如同在 Linux 平臺下時,使用一些 Windows 不具有的開發工具。瀏覽器

一句話來歸納:MinGW 就是 GCC 的 Windows 版本 。服務器

 

2、爲何使用 MinGW ?
1. MinGW 是開源軟件,能夠無償使用。
2. MinGW 由一個活躍的開源社區在持續維護,所以不會過期。
3. MinGW 支持最新的 C語言 標準。
4. MinGW 使用 Windows 的C語言運行庫,所以編譯出的程序不須要第三方 DLL ,能夠直接在 Windows 下運行。
5. 那些著名的開源 IDE 實際只是將 MinGW 封裝了起來,使它擁有友好的圖形化界面,簡化了操做,但內部核心仍然是 MinGW。網絡

MinGW 是穩定可靠的、持續更新的 C/C++ 編譯器,使用它能夠免去不少麻煩,不用擔憂跟不上時代,也不用擔憂編譯器自己有嚴重漏洞,能夠放心的去編寫程序。編輯器

 

3、MinGW 適合作什麼?
對於熟悉 MinGW 的高手而言,它能夠編譯任何 C語言 程序。但對於通常人來講,MinGW 太過簡陋,連圖形用戶界面都沒有。對於習慣使用鼠標的人來講,是很痛苦的。雖然也能夠經過一些配置,讓 MinGW 擁有圖形用戶界面,但那個過程很是麻煩。工具

除此以外,編譯複雜的程序時,還須要你會編寫 Makefile ,不然只能一個文件一個文件的編譯,可想而知會多麼辛苦。學習

但對於初學 C語言 的人來講,MinGW 是正合適的編譯器,至少黑色的命令提示符界面頗有編程的氣氛,感受很酷。在剛開始學 C語言 時,通常狀況下全部代碼都寫在一個文件中,只要輸入幾個簡單的命令,就能用 MinGW 編譯成可執行文件。雖然  VS2013 等編譯器,只要點擊下鼠標就能夠完成編譯,但它會自動生成一大堆工程文件,讓初學者摸不着頭腦。而 MinGW 則只會生成一個可執行文件。開發工具

若是對 MinGW 和 VS2013 等編譯器進行一下形容,那麼 MinGW 是手動的,而  VS2013 等編譯器則是自動的。所以 MinGW 的編譯過程更加直觀容易理解,也比較適合C語言學習。測試

總而言之,對於通常人來講,MinGW 適合學習 C語言 時使用,真正工做仍是用  VS2013 更好。固然若是您是在 Linux 下工做,那麼Code::Blocks多是一個選擇,不過最大的多是您必須習慣使用 GCC 來編譯程序。

 

4、下載和安裝 MinGW
在開始安裝以前,請先確認您知足如下幾個條件。
1.您的電腦已經鏈接到網絡。
2.您的電腦硬盤有500MB的剩餘空間。
3.您如今有充足的時間。(受您當前網速的影響,安裝過程可能會花費一、2個小時以上的時間。)

若是您確認,您知足了上述條件,那麼就能夠開始安裝 MinGW 了。

注意:教程中的圖片都是實際安裝時的原比例截圖,若是您看不清圖片中的提示語,能夠將圖片放大,不會影響清晰度。具體作法是點擊圖片,將會進入到圖片的展現頁面,在展現圖片的左下角,有一個叫「原圖」的連接,點擊它便可。若是前面的方法失效,您仍然能夠經過瀏覽器放大頁面的功能,放大圖片,例如在 Chrome 瀏覽器下,您能夠按住 Ctrl 鍵,而後滾動鼠標滾輪,便可放大頁面。

 

1.MinGW官方網站首頁(http://www.mingw.org/)
1.MinGW網站首頁

MinGW 的官方網站地址是:http://www.mingw.org 。打開這個地址後,咱們看到的就是 MinGW 的官方網站首頁面,在其中找到 Downloads 下載連接,單擊它進入 MinGW 的下載頁面。

注意:安裝MinGW的時候須要鏈接到網絡,而且下載量很大,若是您的網絡環境不是很好,極可能安裝失敗。

 

2.MinGW安裝管理器下載頁面
2.MinGW在SourceForge的項目頁面

在 MinGW 的下載頁面中,咱們只需單擊紅色線框中的 Download mingw-get-setup.exe (86.5kB) 連接,下載安裝程序便可,由於它老是最新的穩定版 MinGW。(固然若是您很瞭解 MinGW,也能夠從橙色線框所示的目錄中手動下載各組件。)

注意:這裏下載的只是 MinGW 安裝管理器的安裝程序,將 MinGW 安裝管理器正確安裝後,才能安裝 MinGW。請不要將安裝 MinGW 安裝管理器完成,誤認爲 MinGW已經安裝完成了。

 

3.MinGW安裝管理器開始下載
3.MinGW在 SourceForge的下載頁

彈出這個頁面以後,倒數5秒,瀏覽器將會自動下載 MinGW 安裝管理器的安裝程序。若是您的瀏覽器沒有自動開始下載,則能夠點擊綠色線框中的 direct link 連接,手動開始下載。下載安裝程序的時間應該很是短,由於它只有不到100KB。

 

4.MinGW安裝管理器的安裝程序
4.MinGW安裝管理器的安裝程序

雙擊運行 MinGW 安裝管理器的安裝程序。

MinGW 安裝管理器的安裝程序與Chrome、Adobe Flash Player的相似,是在線安裝程序,必須聯網才能正確安裝。它只至關於一個下載器,當其運行時,將會從 MinGW 的官方服務器上下載真正的 MinGW 安裝管理器。

 

5.MinGW安裝管理器的安裝程序——首頁
5.MinGW安裝管理器的安裝程序——首頁

雙擊運行 MinGW 安裝管理器的安裝程序後,會首先顯示這個頁面,上面寫了一些 MinGW 安裝管理器的介紹,這裏咱們不用管它,直接單擊 Install 按鈕開始安裝。

注意:單擊 View Licence 按鈕能夠查看軟件的許可協議,MinGW 是開源軟件,對於通常人來講,反正能夠無償使用,至於具體條款,基本不須要在乎。

 

6.MinGW安裝管理器的安裝程序——安裝選項頁
6.MinGW安裝管理器的安裝程序——安裝選項頁

在這一步只需修改 MinGW 要安裝在哪一個目錄,其餘使用默認設置便可。

注意:安裝 MinGW 須要500MB左右的硬盤空間,肯定您選擇的目錄所在的硬盤分區有足夠的剩餘空間。

 

7.MinGW安裝管理器的安裝程序——管理器開始下載安裝
7.MinGW安裝管理器的安裝程序——管理器開始下載安裝

如今安裝程序已經正式開始下載並安裝 MinGW安裝管理器 了,在這個步驟裏所花費的時間,決於您所在地區的網絡環境的好壞,通常來講並不會花費太長時間,在數分鐘範圍內便可完成。

 

8.MinGW安裝管理器的安裝程序——管理器下載安裝完成
8.MinGW安裝管理器的安裝程序——管理器下載安裝完成

如今 MinGW 安裝管理器已經安裝完成,咱們能夠開始正式安裝 MinGW 了。

 

9.MinGW安裝管理器的快捷方式
9.MinGW安裝管理器的快捷方式

MinGW 安裝管理器安裝完成後,會在桌面建立一個快捷方式,之後只要雙擊它就能夠啓動 MinGW 安裝管理器,管理已安裝的組件,或者添加安裝新的組件。

 

10.MinGW安裝管理器界面
10.MinGW安裝管理器界面

這是 MinGW 安裝管理器的主界面,經過這裏咱們能夠下載、安裝、管理 MinGW 和組件。

 

11.MinGW安裝管理器——界面介紹
11.MinGW安裝管理器——界面介紹

通常來講,咱們只須要一些基礎組件便可知足咱們編譯C/C++程序,因此選擇左側目錄中的第一項 Basic Setup 便可,以後咱們就能夠在右側選擇須要的組件了。

 

12.MinGW安裝管理器——查看組件
12.MinGW安裝管理器——查看組件

鼠標左鍵單擊須要的組件,便可在主界面右下側看到對於選擇中組件的詳細信息。

 

13.MinGW安裝管理器——單擊組件選框
13.MinGW安裝管理器——單擊組件選框

而後在組件上單擊鼠標右鍵,再在彈出的右鍵菜單中單擊 Mark for Installation 選項,便可將組件進行標記。在以後的操做完成後,管理器將會自動安裝被標記了的組件。

 

14.MinGW安裝管理器——選中組件
14.MinGW安裝管理器——選中組件

如圖所示,將所需的4個組件所有標記。

由於咱們只是爲了編譯 C/C++ 程序,因此只需安裝 mingw-developer-toolkitmingw32-basemingw32-gcc-g++msys-base 這4個組件便可。

 

15.MinGW安裝管理器——應用更改
15.MinGW安裝管理器——應用更改

在咱們所需的4個組件都已標記完成後,單擊菜單欄上的 Installation 選項,並在彈出的菜單中單擊 Apply Changes 選項。

 

16.MinGW安裝管理器——肯定安裝
16.MinGW安裝管理器——肯定安裝

彈出的這個是確認窗口,咱們直接單擊 Apply 按鈕,以後安裝管理器就會真正的開始下載安裝 MinGW 了。

 

17.MinGW安裝管理器——開始下載安裝MinGW組件
17.MinGW安裝管理器——開始下載安裝MinGW組件

MinGW 安裝管理器正在一邊下載一邊安裝 MinGW,在這一過程當中,視乎您的網絡狀況,可能會花費很長的時間。並且由於安裝管理器連接的是外國的服務器,也會致使下載速度緩慢,因此咱們須要耐心的等待一段時間。

 

18.MinGW安裝管理器——MinGW安裝完成
18.MinGW安裝管理器——MinGW安裝完成

如今 MinGW 已經下載安裝完成了,咱們關閉這個窗口。

 

19.MinGW安裝管理器——檢查更新
19.MinGW安裝管理器——檢查更新

這是 MinGW 安裝管理器自動檢測組件的更新狀況,咱們不用理會,直接關閉。

 

20.MinGW安裝管理器——已安裝的MinGW組件
20.MinGW安裝管理器——已安裝的MinGW組件

在安裝管理器的主頁面中,咱們已安裝的 MinGW 組件的前面的複選框會填充成綠色,咱們之後能夠根據它來管理 MinGW 的組件。

 

21.MinGW安裝目錄結構
21.MinGW安裝目錄結構

至此 MinGW 已經安裝到了您的電腦中,但這時還沒法使用它編譯 C/C++ 代碼,您須要對操做系統進行一些設置。

 

22.MinGW設置——屬性
22.MinGW設置——電腦屬性

咱們這時回到電腦桌面上,找到 這臺電腦(Windows 7 之前的系統叫 個人電腦) 的圖標,鼠標右擊打開菜單,單擊 屬性 選項,會打開 系統 窗口。

 

23.MinGW設置——高級系統設置
23.MinGW設置——高級系統設置

咱們在系統窗口中用鼠標單擊頁面左側的 高級系統設置 選項,從而打開 系統屬性 窗口。

 

24.MinGW設置——系統屬性
24.MinGW設置——系統屬性

在打開的系統屬性窗口中,咱們單擊 高級 選項卡,切換到圖片所示的頁面,而後在用鼠標單擊 環境變量 按鈕。

 

25.MinGW設置——環境變量
25.MinGW設置——環境變量

拖動環境變量窗口下半部分的 系統變量 區域的滑塊,並找到 Path 這個變量,而後單擊選中它,點擊 編輯 按鈕。

 

26.MinGW設置——複製bin目錄地址
26.MinGW設置——複製bin目錄地址

這時咱們打開 MinGW 安裝目錄中的 bin 目錄,而後單擊地址欄,複製紅色線框中的地址。

 

27.MinGW設置——設置path
27.MinGW設置——設置path

把咱們剛複製的 bin 目錄的地址,粘貼在變量值輸入框裏全部值的最末尾,而且必定要注意用 ; 分號將它們分隔開,最後單擊 肯定 按鈕保存修改。

如今 MinGW 已經配置完成,咱們能夠啓動命令提示符測試一下了。

 

28.Win8啓動命令提示符
28.Win8啓動命令提示符

在 Windows 8 中啓動命令提示符。

 

29.命令提示符
29.命令提示符

如今咱們開始測試 MinGW 是否安裝成功。在打開的命令提示符窗口中,輸入 gcc 這串字符,而後按鍵盤上的回車鍵(Enter)。

 

30.MinGW安裝成功
30.MinGW安裝成功

恭喜,若是出現了上圖所示的提示信息,則證實您的 MinGW 已經安裝成功,能夠用它來編譯代碼了。

 

5、使用MinGW編譯代碼
MinGW 是命令行工具,沒有圖形用戶界面,所有操做靠在命令提示符中輸入命令來執行。對於習慣了鼠標和圖形用戶界面的人,這種操做方式會比較難以接受,可能會產生爲何沒有圖形用戶界面這種疑問。你可能在網上找到不少長篇大論,來向你解釋不那麼作的理由,而在這裏我簡單明瞭的告訴你,之因此沒有圖形用戶界面,是由於編寫一個圖形用戶界面很是麻煩,而大部分程序員都討厭麻煩,既然沒有圖形用戶界面也能夠用,何須自找麻煩呢?將這些節省下來的時間,用在提高程序效率方面顯然更划算。

固然,世界上有不少 IDE ,它們有着漂亮的圖形用戶界面,而內置的編譯器就是 GCC ,若是你實在不想用命令行工具,也可使用它們。

 

A.MinGW的gcc編譯命令
A.MinGW的gcc編譯命令

格式:gcc 源代碼文件的名字

示例:gcc hello.c
解釋:gcc 是 MinGW 內置的編譯命令,hello.c 則是咱們要編譯的源代碼文件的名字。
注意:首先,gcc 命令和源代碼的文件名之間有一個空格。其次,文件名必須完整正確,不能省略後綴名。

由於 MinGW 原本就是將 GCC 移植到 Windows 上的產物,因此操做方式和 GCC 同樣,只是在 Linux 下命令是被鍵入到「終端」中,而 Windows 下則是被鍵入到「命令提示符」裏。

 

B.建立hello.c源代碼文件
B.建立hello.c源代碼文件

在用 gcc 命令編譯源代碼以前,咱們首先要有一個存儲了C語言代碼的文件。C語言的源代碼文件其實就是普通的文本文件,惟一的區別就是後綴名不一樣,文本文件的後綴名是 .txt ,而C語言源代碼文件的後綴名是 .c 。

因此咱們新建一個文本文件,名字能夠任意取,我這裏就將其命名爲 hello ,如今文件的完整名字就是 hello.txt 了。以後咱們只須要把 hello.txt 的後綴名 .txt 更改成 .c 後綴名,這樣就獲得了C語言源代碼文件 hello.c 了。

 

C.在hello.c文件裏編寫代碼
C.在hello.c文件裏編寫代碼

這裏用 Windows 自帶的記事本或任意文本編輯器,將 hello.c 這個源代碼文件打開,而後將上圖所示的測試代碼鍵入到文件中,最後保存文件便可。如今測試用的源代碼文件已經準備完成,咱們能夠進行下一步的編譯了。

這段代碼是最基礎的 hello world 程序,會在屏幕上顯示 hello, world 這段文字。相信這是學編程的大多數人,入門時的第一個程序,因此這裏也就再也不贅述了。

 

D.將hello.c編譯成可執行文件
D.將hello.c編譯成可執行文件

以前說過 MinGW 是命令行工具沒有圖形用戶界面,因此編譯操做須要在命令提示符中進行。

首先咱們打開命令提示符,而後要將工做目錄定位到源代碼文件的存儲位置,這一步很是重要,沒有接觸過命令行工具的人,每每會在這裏出錯。DOS 命令 cd 能夠改變當前的工做目錄,具體作法是 cd 命令後面加上目標工做目錄,如上圖第三行,就是從新定位到 d 盤的 test 目錄下。使用完 cd 命令後,還要再鍵入一次定位到的目錄的地址,這樣纔會轉移過去,但只須要鍵入盤符便可,並不須要鍵入完整地址,如上圖第四行。工做目錄從新定位後,如上圖第五行所示,工做目錄已經從 C:\Users\lenovo 更改成 d:\test 。

如今咱們只須要執行 gcc hello.c 這行命令,就能夠將源代碼編譯爲可執行程序了。

 

E.hello.c編譯後的可執行程序
E.hello.c編譯後的可執行程序

如上圖所示,a.exe 就是編譯後生成的可執行程序。由於咱們編譯時沒有指定生成的程序名,因此 MinGW 默認將程序命名爲 a ,加上後綴名就是 a.exe 了。若是咱們想在編譯時就指定生成的程序名,就須要使用 gcc 命令的 -o 選項了。

 

F.MinGW編譯命令gcc的-o參數
F.MinGW編譯命令gcc的-o參數

格式:gcc 源代碼文件的名字 -o 編譯後程序的名字

示例:gcc hello.c -o hello.exe
解釋:gcc 這個命令擁有不少內置選項,其中 -o 表示將它後面的單詞設置編譯後文件的名字。
注意:選項 -o 是英文字母,並非數字零,而且它的後面只能是想設置的文件名。

這種在編譯時命名的方法好像很雞肋,初看好像只是幫咱們省了一些時間,畢竟咱們也能夠在編譯後手動更名。這種想法是由於咱們的程序還很簡單,只有一個源代碼文件,也只會編譯出一個程序。當之後咱們的程序變複雜了,可能會在一個工做目錄下編譯出複數個程序,這時就必須用 -o 選項了,不然編譯出的程序都叫 a.exe ,會在生成時互相覆蓋掉。

 

G.將hello.c編譯成名字是hello.exe的程序
G.將hello.c編譯成名字是hello.exe的程序

一樣要先定位到咱們在用的工做目錄下,而後執行 gcc hello.c -o hello.exe 這條命令,就會編譯生成一個名叫 hello.exe 的可執行文件了。

 

H.hello.c編譯後的hello.exe程序
H.hello.c編譯後的hello.exe程序

執行完 gcc hello.c -o hello.exe 編譯命令後,會在工做目錄中生成 hello.exe 可執行程序,這就是咱們獲得的最終成果。

 

I.雙擊運行hello.exe程序
I.雙擊運行hello.exe程序

用鼠標雙擊運行編譯後的 hello.exe 程序,會啓動一個命令提示符窗口,並在裏面顯示 hello, world 這幾個字符。這表明咱們成功的完成了一次編譯,將那段C語言代碼編譯成了計算機能夠執行的程序。

 

J.在命令提示符中運行hello.exe程序
J.在命令提示符中運行hello.exe程序

想要運行編譯好的程序,並非非要用鼠標雙擊程序啓動,也可在命令提示符中直接輸入編譯後的程序名稱,例如輸入 hello.exe ,也能夠直接運行程序。甚至能夠省略程序的後綴名,只需輸入 hello 便可,程序一樣會正確的運行。

 

K.使用 MinGW 的進階學習

上述只是簡單的編譯源代碼的方法,適用於單個或少許源代碼文件,若是是複雜的大型程序,要用到 makefile 來組織源代碼時,就須要 mingw32-make 命令了。

若是程序編譯或運行出錯,須要調試源代碼,則可使用 gdb 命令,來幫助咱們肯定問題產生在哪裏。

若是代碼沒有明顯的編譯錯誤,運行時也沒有邏輯錯誤,則在最終編譯爲可發佈版的程序時,咱們還要考慮編譯優化的問題,以便生成的程序文件擁有更小的體積,和更高的運行效率。gcc 命令有 -00 、 -01 、 -02 、 -03 這幾個優化選項,其中 -00 是默認選項,意思是無優化,剩下的幾個選項隨數字的增大,優化程度也會逐漸加強。

相關文章
相關標籤/搜索