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++工程有提供了一种新的工具,那些为此付出辛勤劳动的程序员是值得尊敬的