Windows下用Eclipse搭建C/C++开发环境

jopen 11年前
Windows下C/C++的IDE有很多,要学习Eclipse,所以就选下面要讲的Eclipse + GNU toolchain(话说toolchain这个词很形象). 

1. 首先下载Eclipse for C++, 最新版是基于Eclipse 3.5.1的,叫做galileo(伽利略),上个版本3.4叫做ganymede(木卫三)。下载地址:http://eclipse.org /downloads/,选择32bit for windows,文件名叫 eclipse-cpp-galileo-SR1-win32.zip 

Windows下用Eclipse搭建C/C++开发环境

2. 解压,直接运行。注意,至少JDK你已经安装了(我用的是JDK1.6)。运行后一个灰蓝色的welcome页面出现,进入Tutorials。学东西先读Tutorial是个好习惯。 

3. 首先了解一下什么是CDT,就是 C/C++ Development Toolkit,bulabula... 然后它说,这个东西没包含C/C++的编译器、调试器,你得自己弄。 

4. 那就继续看。Windows下,MinGW和Cygwin 是获取GNU toolchain的2种主要方式(GNU toolchain,GNU下一系列的工具包,我的理解主要是gcc这一系列工具)。这两者最大的区别是MinGW使用Windows C的运行库,叫做mscvrt,而Cygwin使用了一组基于GPL的DLLs(GPL协议具有传染性,使用GPL协议下的软件后你自己开发的东西也要遵 守GPL协议),因此MinGW避开了GPL协议。 

5. MinGW和CDT能很好的整合。好吧,我们装MinGW(MinGW是Minimal GNU for Windows的意思,这个下载过程相当慢,我下了大半个小时)。当前版本是MinGW-5.1.6.exe,我一股脑来了个Full install。装完后才发现这么一句:Do not install the MinGW Make feature as the MSYS version of make from step 5 is a more complete implementation of make.(不要安装MinGW的Make, 第5步的MSYS是个更好的实现方案) 

6. 为了避免将来可能遇到的问题,卸了重装。这里是完整的安装步骤: 
1)下载MinGW,地址 http://sourceforge.net/projects/mingw/files/ 
2)安装MinGW base tool和g++编译器(不要安装Make);我把除了Make之外的都装了,里面居然还有个Ada的编译器 
Windows下用Eclipse搭建C/C++开发环境  

3)当前版本(它是指MinGW-5.1.3,不过我下的5.1.6同样也没有)没有装gdb debugger, 下载它:http://downloads.sourceforge.net/mingw/gdb-6.6.tar.bz2 
4)解压gdb-6.6.tar.bz2 到你安装MinGW的地方,gdb-6.6/下也有一系列bin,inclue文件夹,直接拷到MinGW下面覆盖进去即可 
5)如果要用Makefile,请下载 MSYS-1.0.10.exe,MSYS是make及命令行的一个实现。嗯,要用。下载地址 http://downloads.sourceforge.net/mingw/MSYS-1.0.10.exe 
安装界面是个命令界面,写2个”y”,然后告知MinGW的安装路径即可。 
Windows下用Eclipse搭建C/C++开发环境  

OK,安装部分就完成了。下面写2个小例子。 

7. 首先创建一个简单的HelloWorld C++工程,这个很简单,按Wizard向导建一个模板即可。 
Windows下用Eclipse搭建C/C++开发环境  

Run的时候选Run Configurations, 然后双击C/C++ application建一个新的run configuration就行。 
Windows下用Eclipse搭建C/C++开发环境

8. 下面建一个Makefile类型的工程。选择New C++ Project -> Makefile project -> Empty Project, 我们建一个空的项目,建完后里面什么也没有(除了2个.project文件),这时,我们要建一个源文件和一个make文件:main.cpp 和    makefile,如下,都建到根目录下: 
Windows下用Eclipse搭建C/C++开发环境  
C++代码   
  1. /* 
  2.  * main.cpp 
  3.  */  
  4.   
  5. #include   
  6. using namespace std;  
  7.   
  8. int main () {  
  9.     // Say Hello five times  
  10.     for (int index = 0; index < 5; ++index)  
  11.       cout << "HelloWorld!" << endl;  
  12.     char input = 'i';  
  13.     cout << "To exit, press 'm'" << endl;  
  14.     while(input != 'm') {  
  15.         cin  >> input;  
  16.         cout << "You just entered " << input  
  17.              << " you need to enter m to exit." << endl;  
  18.     }  
  19.     exit(0);  
  20. }  

Makefile代码   
  1. all: hello.exe  
  2.   
  3. clean:  
  4.     rm main.o hello.exe  
  5.   
  6. hello.exe: main.o  
  7.     g++ -g -o hello main.o  
  8.   
  9. main.o:  
  10.     g++ -c -g main.cpp  

注意,makefile里的行首缩进用的是Tab而不是空格。如果编译时提示 No separator...就是这里有问题。  

9. Ok, 选中工程,点Build(或点那个小锤子),你会发现这个错误:(Cannot run program "make": Launching failed),啊,我们的make.exe还没设。选中工程,直接Alt-Enter到工程属性页,把msys的bin加到Path里。 
 

10. 重新build, 大功告成。