用Eclipse搭建C/C++开发平台

谈到Eclipse这个开源IDE,大家都会潜意识地把它和JAVA开发联系起来。没错,Eclipse用于JAVA application的开发是目前的主流,而且它本身也是需要JRE才能运行的,因而无论怎么看Eclipse都与JAVA有密不可分的联系。 但实际上Eclipse只是一个开发环境,一个为程序员提供的框架,与语言并无直接联系。自从2001年IBM将Eclipse捐献出来后,该项目得到了极大发展,直至目前代号为GALILEO的最新版本。更为重要的是,它得到了背后插件开发强有力的支持,因而功能更趋于完善。甚至,通过向Eclipse加入CDT plug-in,我们可以在该平台下从事C/C++程序的开发,这无疑又丰富了我们对开发平台的选择。


以前在Windows环境下写C/C++程序一直用的都是Visual Studio,但近些年Microsoft对IDE的改进重心都在.NET Framework上,C++没有得到应有的重视。没有工程模板,智能提示不完善,以致于感觉用Visual Studio编辑C++程序和用记事本没啥区别,的确很可悲。昨天Microsoft正式发布了Visual Studio 2010正式版,试用感觉改进挺出色,但是这家伙占用的系统空间实在太大,弄得我又是删除VS2008又是重新硬盘划区。之前装过Cygwin,简单的程序用GCC或是G++编译是个非常不错的选择,但程序一旦复杂起来debug起来毕竟还是不太方便。于是就想有没有一个轻量级但功能又足够完善的IDE可供选择呢? 这个时候我想到了Eclipse。


从官网下载简单,但是config还是倒腾了很久。当中碰到不少问题,然后上网搜解决方案,但几乎都是千篇一律地抄来抄去,对关键地方含糊其辞。但最后还是把C/C++开发环境搭建好了,下面说说详细过程,之中遇到的问题以及解决办法。


首先说一下系统环境,我用的是Windows Vista SP2 32bit,从官网 http://www.eclipse.org/downloads/ 上下载时注意选择适合自己的操作系统的版本。虽然Eclipse本身用JAVA编写,但具有讽刺意义的是它却不具有JAVA语言本身应该具备的可移植性,其原因在于它用到了非标准的Windowing Library,这里顺便提一下。


从下载列表上我们可以看到转为C/C++开发者提供的IDE版本"Eclipse IDE for C/C++ Developers", 就是它了,里面自带了CDT插件。顺便说一下什么是CDT。CDT是C/C++ Development Tools的缩写,是基于Eclipse平台的一款第三方插件,提供了对C/C++程序开发的完全支持,因而是必不可少的。倘若原来就安装过针对JAVA开发的Eclipse版本,这里的解决办法是直接下载CDT这个核心插件,插件的安装大致有两种办法:


一种是自动安装。从Help项的下拉列表中选择Insatall New Software,在弹出的窗口中单击Add,之后找到CDT插件的URL地址后复制粘贴到小对话框中点击OK,一路Next就大功告成。


第二种是手动。直接从网上下载压缩包到本地解压,然后将次级文件夹分别相应放到Eclipse安装目录下的plugins和features文件夹下,最后重启Eclipse,软件会自动检测到更改。当然还有其它方法安装插件,比如说写link文件,但这里不讨论了。


Eclipse配置的第一阶段告一段落,尽管这个时侯已经可以在IDE中新建C/C++工程了,但是它还不能工作,原因很显然,缺少C/C++编译器。我这里选择的是Cygwin,另外一种流行的选择是MinGW。两者的主要区别是MinGW只支持Win32 API,程序若调用了Unix API是不能在Windows环境下运行的;而Cygwin运行在Windows上,但却可以提供类Unix的环境,因而可以使用Unix API。这里怎么选看个人需要了,我选择能使用Unix API的Cygwin。 Cygwin可以从官网上下载,要完全安装组件是要占用不少系统硬盘空间的,这里至少要安装gcc,g++和gdb以对Eclipse提供必要支持。对大多数人来说,硬盘应该不是问题,所以推荐完全安装。


Cygwin安装完成后可以试试在命令行中调用gcc和g++编译器编译运行Hello World程序确定一下没有问题,比如cd进入源文件目录后g++ -o prog.exe hello.cpp,检查一下Hello World能否正常输出,一般组件正常安装的话是没有问题的。


好了,我们已经有了gcc和g++,现在重新回到Eclipse, 我们试着建立一个简单的Hello World工程。如果是第一次启动Eclipse的话,它会提示创建Workspace工作区,路径自由选择。然后依次File - New - C++ Project打开一个新建窗口,输入 Hello World作为Project Name,在Project type子窗口中展开Executable文件夹,选择Hello World C++ Project,这里CDT已经为我们写好了Hello World程序。如果以上步骤中Cygwin成功安装,在Toolchains中会出现Cygwin GCC,选择它一路Next,一个新建好的工程就出现在工作台的Project Explorer的视图里。


不过我们可以发现在编辑区里#include那一行提示unresolved,但是我们试着build程序,Console打印编译信息,可以看到g++编译器被成功调用,编译完成后可以从Project Explorer里看到到二进制可执行文件被生成。但是。。。接着run程序,却发现Console里没有任何输出!!我们可以单独拿出编译好的可执行程序,在cmd命令行中运行,屏幕打印Hello World!这说明可执行文件正确生成了,当然编译是没任何问题的。这个问题让我头疼了很久,网上搜资料没搜到相关内容,自己还傻傻地跑到Cygwin安装目录下搜索include和lib文件夹确认一遍。


最后找到了问题所在,我们右键点击工程,进入Property工程属性页面,展开C/C++ Builder,点击Tool Chain Editor,然后好好看下Used Tools列表,一定好好检查了,里面的编译器,连接器是不是都是我们所需要的,问题就在这里了。有问题点击Select Tools,添加Cygwin C++ Compiler和Cygwin C++ Linker并确定。然后就会奇迹般地发现编辑区里的黄色警告消失了,编译运行,OK,Console打印Hello World!不放心的话再写个稍复杂的程序,include其它几个C++标准头文件试试。

 

如果这样还有麻烦的话,谨慎怀疑一下是Cygwin的安装过程出现了问题。这里可以去工程属性窗口里,展开C/C++ General树形目录选择Paths and Symbols,单击Includes标签,看看GNU C和GNU C++的Include directories里有没有包含必要的头文件目录,理论上Cygwin安装成功的话这些项目是自动配置好的。实在解决不了不如直接换MinGW,安装比Cygwin简单很多且不容易出现问题,好了,这里配置工作就完成了,我们可以在Eclipse平台下自由开发C和C++程序了。搞了那么久真是郁闷,解决之后什么都变得那么简单和自然。

 

推荐碰到问题时多看看Eclipse自带的Help文档,熟悉IDE基本架构和操作,网上的东西大多都太杂而且没有针对性。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值