搭建eclipse C/C++开发环境: 1、下载并安装Eclipse for C++:http://www.eclipse.org。最新版是基于Eclipse 3.5 galileo,文件名为eclipse-cpp-galileo-SR1-win32.zip。设工作目录为D:/workspace_cpp。 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能很好的整合。当前版本是MinGW-5.1.6.exe。 方案一:在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时总是出错。我猜想可能是软件间的依赖关系问题吧。因为gdb 7.0.1是最新版的,而MinGW 5.1.6安装的很多软件版本比较早。 方案二:建议从网上找一个集成的、已编译好的MinGW来安装,我推荐用TDM/MinGW,地址http://www.tdragon.net/recentgcc/,它包含了C/C++编译器、GDB、GNU make(这三个是搭建完整的eclipse c/c++开发环境必须要有的),这里使用了最新版的gcc 4.4.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,指定好项目及要运行的程序名,运行即可。 4、下面建一个Makefile类型的工程。选择New C++ Project -> Makefile project -> Empty Project, 我们建一个空的项目,建完后里面什么也没有(除了2个.project文件)。然后建一个源文件main.cpp和一个make文件makefile,都建到根目录下。 main.cpp代码:
- /*
- * main.cpp
- */
- #include <iostream>
- using namespace std;
- int main () {
- // Say Hello five times
- for (int index = 0; index < 5; ++index)
- cout << "HelloWorld!" << endl;
- char input = 'i';
- cout << "To exit, press 'm'" << endl;
- while(input != 'm') {
- cin >> input;
- cout << "You just entered " << input
- << " you need to enter m to exit." << endl;
- }
- exit(0);
- }
/*
* main.cpp
*/
#include <iostream>
using namespace std;
int main () {
// Say Hello five times
for (int index = 0; index < 5; ++index)
cout << "HelloWorld!" << endl;
char input = 'i';
cout << "To exit, press 'm'" << endl;
while(input != 'm') {
cin >> input;
cout << "You just entered " << input
<< " you need to enter m to exit." << endl;
}
exit(0);
}
makefile代码:
- all: hello.exe
- clean:
- rm main.o hello.exe
- hello.exe: main.o
- g++ -g -o hello main.o
- main.o:
- g++ -c -g main.cpp
all: hello.exe
clean:
rm main.o hello.exe
hello.exe: main.o
g++ -g -o hello main.o
main.o:
g++ -c -g main.cpp
注意makefile里每个target的命令行首缩进用的是Tab而不是空格。如果编译时提示 No separator...就是这里有问题。 选中工程,点Build(或点那个小锤子),就可以构建生成程序了。要运行hello.exe,可右击项目,选Run Configurations,新建一个run configuration,指定好项目及要运行的程序名hello.exe,运行即可。 调试项目:右击项目选Debug Configurations(或在Run菜单下选),产生一个run configuration,在Debug tab中指定Debugger,用gdb/mi即可,然后单击Debug即可进行调试。