代码改变世界

搭建Eclipse C/C++开发环境

2011-02-20 16:47  雪夜&流星  阅读(1496)  评论(3编辑  收藏  举报

搭建eclipse C/C++开发环境:

1、下载Eclipse IDE for C/C++ Developers

 

   下载地址:http://www.eclipse.org/downloads/

   直接解压,不用安装。

2、eclipse for C/C++ IDE没有包含C/C++的编译器和调试器。在Windows下可以用MinGW或Cygwin。MinGW和Cygwin 是获取GNU toolchain的2种主要方式。这两者最大的区别是MinGW使用Windows C的运行库,叫做mscvrt,而Cygwin使用了一组基于GPL的DLLs(GPL协议具有传染性,使用GPL协议下的软件后你自己开发的东西也要遵 守GPL协议),因此MinGW避开了GPL协议。一般建议用MinGW,因为MinGW和CDT能很好的整合。本人用安装过Cygwin,但是运行C程序不成功。只好换用了MinGW。

方案一:在http://sourceforge.net/projects/mingw/files/上下载MinGW-5.1.6.exe,可以选择 安装MinGW base tool和C++、Object C、Fortran、Java等编译器,(不要安装Make,因为之后我们可以安装MSYS,这是一个更好的实现方案,包含了make和其他很多有用的 GNU工具);我把除了Make之外的都装了,里面居然还有个Ada的编译器。不过安装起来非常慢,因为MinGW-5.1.6.exe需要下载很多文 件,而且安装的gcc为3.4.5,是比较老的版本。安装MinGW-5.1.6时也没有安装gdb debugger,在http://sourceforge.net/projects/mingw/files/上下载gdb-7.0.1- mingw32-bin.tar.gz。解压,把其各目录中(bin, share中的各目录)的所有文件拷贝到MinGW安装目录(设为D:\MinGW)的相应目录下。为了能够使用Makefile,还要安装集成了GNU make的MSYS。下载MSYS-1.0.11.exe并安装它,设安装目录为D:\msys\1.0。安装时最后会弹出一个命令界面,两个问题均 用”y”,然后告知MinGW的安装路径即可。安装部分就完成了。然后把路径D:\MinGW\bin和D:\msys\1.0\bin加到系统环境变量 Path中。这时eclipse就可以编译和执行C/C++项目了,但我发现不能使用gdb进行调试,调用gdb时总是出错。我猜想可能是软件间的依赖关 系问题吧。

方案二:建议从网上找一个集成的、已编译好的MinGW来安装,我推荐用TDM/MinGW,地址http://www.tdragon.net /recentgcc/,它包含了C/C++编译器、GDB、GNU make(这三个是搭建完整的eclipse c/c++开发环境必须要有的),这里使用了最新版的gcc 4.5.1,对C++ 0x的支持比较完整。安装时还可以选择另外下载其他语言的编译器。设安装在D:\MinGW下,安装完后把bin下面的mingw32-make.exe 改名为make.exe,程序会自动把路径D:\MinGW\bin添加到环境变量Path中(否则可以编译和执行项目,但调试项目时会提示不能执行gdb --version,可见找不到gdb)。安装就大功告成了。使用这个方案时我发现没有什么问题,调试也能进行,而且是最新新版的gcc哟!

方案三:MinGW-nuwen,这是另外一个已编译好的MinGW,在http://nuwen.net/mingw.html,使用的也是最新版的 gcc 4.4.1。不过它没有集成gdb(要像方案一中那样另外安装)。不过它的一大特色是集成了编译好的Boost库。

3、创建一个简单的HelloWorld C工程,名为HelloWorld,这个很简单,按Wizard向导建一个模板即可。单击运行(或用右键下的相应快捷菜单)即可。若不能运行,可选 Run Configurations,新建一个run configuration,指定好项目及要运行的程序名,运行即可。

helloworld.c的代码:

/*
============================================================================
Name : helloworld.c
Author : tl
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;
}

运行结果: