http://www.stlchina.org/twiki/bin/view.pl/ScriptProgram/LearnMakefile#4.4%20嵌套執行make
寫在前面:最近在C++工具版問CDT使用方法的人不少。可見MinGW的用戶和潛在用戶還是有很多的。我現在把這個開發工具的使用方法總結出來,通過這篇文章,你應該可以學習到如何快速建立一個eclipse下面的C++開發環境。
1.CDT簡要介紹(引自官方網站)
CDT具備了一個IDE所必需的功能:
* C/C++ Editor (basic functionality, syntax highlighting, code completion etc.)
* C/C++ Debugger (APIs & Default implementation, using GDB)
* C/C++ Launcher (APIs & Default implementation, launches and external application)
* Parser
* Search Engine
* Content Assist Provider
* Makefile generator
2.開發環境整備
CDT只是一個C++開發前端。后端需要自己裝配GCC編譯器。為了讓cdt正常工作,需要的軟件包有
* eclipse 3.2.0(開發環境載體)
* cdt for eclipse 3.2.0(開發環境插件)
* mingw 5.0.0(編譯調試器)
* Cygwin or msys(linux命令模擬環境)
因為CDT是一個需要mingw支持的開發工具,所以有時候免不了需要一些linux命令,比如其自動建立的makefile文件里面就有rm命令。換句話說:如果沒有linux模擬環境的支持,就無法正常的使用CDT來進行開發。
3.MinGW 和 cygwin的安裝
作為CDT的開發后端,這里簡單的講一下mingw 和 cygwin的安裝。這兩種套件都采用網絡安裝的方式,只要在其官方網站上面下載相應的安裝向導然后自己選擇一些需要的或者感興趣的套件安裝就可以了。如果僅限于C++的基礎開發,則推薦最小的配置是:
*
3.1.mingw
o mingw Base Tools 除了開發所需要的基本命令如GCC 以外,還包括了win32api等必備套件。
o GCC-C++,mingw的C++語言支持。
o mingw32-make,這是mingw自帶的一個make工具,cdt在編譯程序的時候會用到
*
3.2.Cygwin
o 默認安裝
當然也可以嘗試一下MSYS。不過在linux模擬環境這個意義上,cygwin和MSYS是等效的,cygwin提供的套件更全面更豐富一些。本篇文章選擇了cygwin套件。
mingw和cygwin安裝本身是不需要做什么特別的配置,為了保險,可以在安裝完成后檢查一下windows的path環境變量是不是正確加入了mingw 和 cygwin的bin目錄路徑。如果沒有加入,加上它。然后在windows命令行下面鍵入:
gcc
如果顯示 gcc:no input files ,就證明mingw編譯環境已經搭建好了。
再嘗試一下ls,鍵入:
ls
如果工作正常,將顯示出來當前文件夾的列表。如果都沒有問題,就可以開始開始配置CDT開發環境了。
4.CDT的安裝與配置
cdt的安裝本身沒有什么可說的,去官方站點下載插件的壓縮包,解壓縮到eclipse文件夾里面就能正常使用。這里講講怎么用這個插件。
*
4.1. 全局的配置在哪里?
點擊window菜單的prefrences會出現eclipse全局的配置對話框,CDT的配置在這個對話框的C/C++選項卡下面。很多選項用默認值就可以使用了,你可以在C/C++->Make->New Make Projects選項卡里面配置全局的編譯,Make的特征。特別要注意這個選項卡里面的Make Builder下面的第一項。我們將要使用mingw作為編譯后端,用的make工具也是mingw提供的,所以要把默認的make命令修改為mingw32-make,其他的選項就看自己的喜好了。
*
4.2.建立一個新的工程
CDT提供了兩種風格的工程,Managet Make (C|C++) Project 和 Standard Make (C|C++) Project。前者自動生成了一個Make文件,可以實現自動編譯,后者則需要手動編寫一個配置文件。選擇哪一個完全看自己的需要。
*
4.3.第三方庫的掛接以及編譯選項的制定
開發軟件免不了要用第三方的庫,CDT準備好了用戶接口來掛載這些。所有的選項都在Properties里面(右擊當前的工程)。Tool Settings 下面有Compiler 和 linker的命令選項提供了這些接口。如果打算預先定義一些Macro,則可以在Compiler選項卡的PreProcesser里面的 Defined symbols里面制定,CDT會生成-DMarcro樣式的參數。
5.后記
至此,一個基本可用的C++開發環境就算建立好了。但是個人認為CDT并不是很成熟的,緩慢的運行、調試速度和有限的代碼提示功能是制約它的一個重要原因。除非你別無選擇,否則還是以不要使用這個插件為上策。盡管如此,這個插件還是為我們開發C++工程有提供了一種新的工具,那些為此付出辛勤勞動的程序員是值得尊敬的