2012年11月26日 星期一

使用 Eclipse 開發 C 及 C++ ( CDT + MinGW )

當然要先安裝好 Eclipse,基本上就是先安裝 JRE / JDK 然後再安裝 Eclipse,步驟不難這裡就先不詳細敘述。

MinGW(Minimalist GNU for Windows)

這是一套將 Linux 底下的開發工具移植到 Windows 平台的整合軟體,如此一來我們就可以使用Linux 底下的開發工具套件來開發 Windows 平台的軟體

官方網站:

請先下載安裝檔
筆者寫文章時最新的檔案名稱為 mingw-get-inst-20120426.exe

開始安裝
點選 Next

這裡選第一個即可,當然也可以下載最新的,隨您喜歡,筆者偏好穩定好用的就好

版權聲明,I accept the agreemnt,然後點選 Next

安裝目錄,預設就是C:\MinGW

開始功能表內的名稱,直接按 Next 即可

安裝元件的選擇,請自行根據需要選擇

同上圖

檢查要安裝的原件,確定無誤就開始安裝吧 Install 

安裝程式會透過網路下載其他需要的檔案
安裝好後可檢查過程的紀錄,直接點選 Finish 即可。

這樣子就裝好了,所有執行檔位於 C:\MinGW\bin

請將 C:\MinGW\bin\mingw32-make.exe 檔名改成 make.exe

為了方便起見我們還要設定一下環境變數
(控制台 -> 系統及安全性 -> 系統 -> 進階系統設定 -> 環境變數)

在 PATH 中加入「C:\MinGW\bin」,記得每個路徑都要以分號「;」隔開。
備註:基本上環境變數的 PATH 的設定,建議將 MinGW 的路徑放在最前面,因為有某些情況下可能會與其他開發工具(例如:Visual Studio)發生衝突。

Eclipse CDT (C/C++ Development Tooling)

官方網站:
下載網址:
請根據自己的 Eclipse 版本下載
下載後解壓縮該檔案,將 features 和 plugins 兩個資料夾整個複製到 Eclipse 的安裝目錄下,重新啟動 Eclipse,在 File -> New -> Project 的地方即可以看到C/C++。

這裡選C Project
新增專案後,這裡選擇 Hello World ANSI C Project 的示範範例(您也可以選擇Empty Project),填入 Project name,以及 Toolchains 的地方選擇 MinGW GCC,點選 Finish 後完成開啟專案。
有個地方要先設定一下,在 Windows -> Preferences -> C/C++ 底下的 New CDT Project Wizard 展開後有一個 Makefile Project,這裡請勾選 PE Windows Parser 後按 OK
接著叫出 Make Target 的視窗,在 Windows -> Show View -> Make Target
在專案名稱上面點選右鍵選擇 New

Target name 填入 compile 後,點選 OK
然後一定要再新增的 compile 的圖示上面點兩下,這樣才完成編譯程式碼的動作,Console 會輸出類似以下的訊息:

00:16:22 **** Rebuild of configuration Debug for project HelloWorld ****
Info: Internal Builder is used for build
gcc -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\HelloWorld.o" "..\\src\\HelloWorld.c"
gcc -o HelloWorld.exe "src\\HelloWorld.o"
00:16:22 Build Finished (took 458ms)
這樣接下來才能使用 Eclipse 的 Run 功能來執行(點選專案後 Run -> Run),否則會一直出現 Launch failed. Binary not found 的錯誤訊息。

/*
 ============================================================================
 Name        : HelloWorld.c
 Author      : 
 Version     :
 Copyright   : Your copyright notice
 Description : Hello World in C, Ansi-style
 ============================================================================
 */

#include <stdio.h>
#include <stdlib.h>

int main(void) {
 puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
 return EXIT_SUCCESS;
}

執行結果







基本上C語言的開發環境不是問題了,讓我們再來試試看C++的開發環境。

新增專案,一樣我們選擇 Hello World C++ Project 這個範例檔案,輸入 Project name 為 HelloWorld 並且在 Toolchains 的地方選擇 MinGW

設定專案基本資料,基本上按 Next 即可

設定編譯的組態檔,這裡先維持預設,直接點選 Finish 完成即可
P.S 基本上不管 C 或 C++,新增專案第一次會要輸入比較詳細的資料,之後只要輸入第一頁的 Project name 就可以直接按 Finish 按鈕了。

然後我們一樣需要一個 Makefile,和上面的範例一樣:


找到 Make Target 視窗,在專案名稱內按右鍵點 New...

幫它取個名稱
然後一樣針對 compile 的圖示點兩下,進行編譯的動作,console 會出現類似以下的訊息:

10:56:26 **** Rebuild of configuration Debug for project HelloWorld ****
Info: Internal Builder is used for build
g++ -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\HelloWorld.o" "..\\src\\HelloWorld.cpp" 
g++ -o HelloWorld.exe "src\\HelloWorld.o" 

10:56:27 Build Finished (took 1s.213ms)

編譯完成後就來 Run 看看吧:

程式碼:
//============================================================================
// Name        : HelloWorld.cpp
// Author      : 
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#include <iostream>
using namespace std;

int main() {
 cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
 return 0;
}

執行結果







可以開始開發 C / C++ 啦!

9 則留言:

  1. 找了好多相關文章都沒有這篇詳細

    感謝作者!!

    回覆刪除
  2. 成功安裝,不過mingw要先安裝basic才能繼續安裝

    回覆刪除
  3. 照了你的方法用還是出現 Launch failed. Binary not found 耶(我用的是Eclipse Oxygen)

    回覆刪除
    回覆
    1. 它顯示:

      22:16:50 **** Build of configuration Debug for project 000HelloWorld ****
      make compile
      make: *** No rule to make target 'compile'. Stop.

      22:16:51 Build Finished (took 173ms)

      刪除
    2. 我沒有改mingw32-make.exe的名稱,我在create target的時候將預設的Build Command一欄改輸入成mingw32-make就過了,不過沒有生出Makefile,這點有點怪....

      刪除
    3. 感謝板大 詳細的解說

      今天試了好久 總算成功了
      OS :WIN 10
      Eclipse CDT : 網路上抓目前最新的
      我本來也是一直無法執行
      > C:\MinGW\bin\mingw32-make.exe 檔名改成 make.exe
      不用改 維持原黨名 mingw32-make.exe 就可以了
      可能最新的版本會自己抓

      刪除