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

分享到:
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, 大功告成。
昵    称:
验证码:

相关文档:

  • C++界面库:DuiEngine
    一个C++界面库. 1. 作者将金山的BKWin进行了深度改写,从而使之更易于使用和开发。相比传统的WTL而言,DUIEngine增加了许多窗口特效,...
  • C++11 中委派 (Delegates) 的实现
    在 C++ 中通过一个全局函数来绑定到对象的成员函数是很有用的,这个特性也存在于其他语言中,例如 C#的委派。在 C++ 中相当于成员函...
  • C编译器 c++编译器 wieldylcc
    用c++重构了lcc源代码,去掉了lcc中支持多种处理器的模式,仅支持x86一种。项目目标是编译器的源代码是易于理解的,编译出的asm文件也...
  • C++集成开发工具 KDevelop
    KDevelop 是一个免费,开源的IDE(Integrated Development Environment) 。支持多种平台包括:MS Windows, Mac OS X, Linux, Solaris 和 FreeBSD....
  • Qt集成开发环境 Edyuk
    Edyuk 是一款用于 Qt 4 的 IDE(集成开发环境)。它是自由、开源软件,具有轻量、快速的优点。当前的主要功能包括:qmake 项目管理、集...
  • 用C++简单封装了一下SQLite
    SQLite 强大,大家都知道,但是原生是C接口,用来其应用层稍微麻烦些。 今天做了个简单的C++封装,使用面向对象的方法来使用。...
  • 跨平台的C++开发环境 CodeLite IDE
    CodeLite IDE 是一个强大的开源,跨平台的 C/C++整合开发环境. 支持包括 Windows、Linux 和 Mac 系统下运行。...
  • C++ 插件框架:Pluma Framework
    Pluma 是一个开源的C++插件管理框架,以助于在应用程序中动态载入DLL而无需在意内部实现,它是轻量级、简化设计的。...
  • C/C++集成开发环境 Dev C++
    Dev-C++是一个Windows下的C和C++程序的集成开发环境。它使用MingW32/GCC编 译器,遵循C/C++标准。...
  • Qt集成开发环境 QDevelop
    QDevelop 是一个用来开发基于 Qt4 应用程序的集成开发环境,要求 Qt4 的支持,Windows 需要 MinGW 支持。使用 gdb 做为调试工具,提供包括英语...
  • C++ typename的起源与用法
    侯捷在Effective C++的中文版译序中提到: C++的难学,还在于它提供了四种不同(但相辅相成)的程序设计思维模式:procedural-based, object-b...
  • C++的Twitter开发包 twitlib
    twitlib 是一个 C++ 的 Twitter 客户端开发包,现已改名为 QTwitLib。...
  • C Minimal Perfect Hashing Library - C 语言的哈希函数库
    C Minimal Perfect Hashing Library (CMPH) 是一个可移植的基于 LGPL 协议发布的 C 语言的哈希函数库。该库封装了最新而且最高效的算法,易用,稳...
  • 编译型编程语言 eC
    eC,是一位加拿大人Jrome历时十二年开发的一门编译型编程语言,拥有C++项目的性能和Java的跨平台性以及Python的方便性。 目前eC拥有自...
  • 15款C/C++程序员必备的编译器和IDE
    当前,Web 开发人员编程语言的选择很多,比如 Java、.Net、PHP、Ruby、Perl、Python 等等。今天,本文想和大家讨论下两种古老而又广泛...
  • C++模板库 Standard Portable Library
    Standard Portable Library 是一个指针友好的 C/C++ 标准模板库的替代产品,它所提供的 API 跟 Java 或者是 .NET 的语言类似,包括公用的数据结构...
  • 高并发C++应用程序框架:saf application framework
    saf (saf application framework) 是一个高并发的c++应用程序框架,它以RPC为基础,提供了动态载入模块的特性,为服务端开发人员只用关注于程...
  • C语言开发工具库:cbase
    cbase是一个C语言库,它能够简化UNIX中的系统软件开发。这个库的功能包括:内存管理、字符串解析、子过程执行,文件系统遍历,I/O,...
  • C编程语言的编译器:8cc C Compiler
    8CC是一个C编程语言的编译器。它的目的是支持所有C11语言功能,同时尽可能保持代码少而简单。...
  • 一个开源的C++基础类库:ThefoxFramework
    开源的C++的基础开发库,包括常见的C++常用工具类(file、mutex、semaphore、thread、线程池等)、mysql封装、net-snmp封装、net库、rpc、log库。...