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

时间:2022-01-28 09:44:06

本文假定你已经熟悉Java,Eclipse的安装,并能顺利启动和运行Eclipse.此外因为各软件版本在不断更新,有些地方可能不准确,以最新的、原文资料为准。

距上一次写和调C++程序,已经5、6年了,光阴荏苒岁月无情,现在再重新拾起来,很多东西都要从头来。Windows下C/C++的IDE有很多,我知道的就有MS Visual Studio,Borland C++等,但这些是要版权的。不要钱也有一些,但因为对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++开发环境

  1. /*
  2. * main.cpp
  3. */
  4. #include <iostream>
  5. using namespace std;
  6. int main () {
  7. // Say Hello five times
  8. for (int index = 0; index < 5; ++index)
  9. cout << "HelloWorld!" << endl;
  10. char input = 'i';
  11. cout << "To exit, press 'm'" << endl;
  12. while(input != 'm') {
  13. cin  >> input;
  14. cout << "You just entered " << input
  15. << " you need to enter m to exit." << endl;
  16. }
  17. exit(0);
  18. }
  1. all: hello.exe
  2. clean:
  3. rm main.o hello.exe
  4. hello.exe: main.o
  5. g++ -g -o hello main.o
  6. main.o:
  7. 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里。 
Windows下用Eclipse搭建C/C++开发环境

10. 重新build, 大功告成。