http://hi.baidu.com/ltb6w/item/3a51f11926fda60ce75c361d

Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解

Eclipse作为目前如日中天的开放式IDE,由于有大量插件支持,所以几乎无所不能,除了Java开发的老本行之外,C/C++开发也不在话下。下面就给大家介绍如何使用CDT(C/C++ Development Tools)进行C/C++开发。本文适合有一定Eclipse使用经验的读者,如果您对Eclipse的基本操作还很陌生,请先在网上搜索相关教程进行学习。1. 相关软件的下载、安装和配置请先从http://www.eclipse.org/downloads/下载的Eclipse SDK,目前的最新版本是3.3.1,然后从http://www.eclipse.org/cdt/downloads.php 下载与Eclipse版本相配套的CDT,或者直接下载打包好的Eclipse IDE for C/C++ Developers ,这个版本包含了最新版本的eclipse IDE的核心和与之配套的CDT,免去了安装CDT的麻烦。为了能够正常运行Eclipse,请确保你的计算机上装有JDK,并且已经配置好了环境变量。由于CDT中并不自带编译器,所以还需要安装一个C/C++的编译器,这里给大家推荐的是MinGW,下载地址为http://www.mingw.org/download.shtml,以下将使用MinGW-3.1.0-1进行讲解。以上软件凑齐之后,便可以进行安装配置了。首先,解压Eclipse SDK的安装程序即可完成Eclipse的安装,这里假设将其解压到C:\路径下,则C:\下会出现一个名为“eclipse”的文件夹。接着,将CDT的安装文件同样解压到C:\路径下,由于其解压后同样是名为“eclipse”的文件夹,所以会插入或覆盖相应的文件,解压完成后,CDT的安装工作便完成了。

然后,安装MinGW,假设安装到C:\MinGW目录下。安装完成之后进行相应的环境变量的配置。右键“我的电脑”->“属性”->“高级”->“环境变量”,在“系统变量”中修改“Path”变量,在最后面添加“C:\MinGW\bin;”,注意,如果原来的Path变量值不是以“;”结尾的,一定要添加上一个分号在“C:\MinGW\bin;”之前,以起到分隔的作用。如图1。

图1

接下来,在用户变量中分别新建并配置如下变量,如图2:

LIBRARY_PATH :C:\MinGW\lib C_INCLUDE_PATH :C:\MinGW\include CPLUS_INCLUDE_PATH :C:\MinGW\include\c++\;C:\MinGW\include\c++\3.2.3\mingw32; C:\MinGW\include\c++\3.2.3\backward;C:\MinGW\include

                                           图2

以上步骤完成之后,请启动Eclipse进行CDT相关参数的配置。在菜单栏中选择“Window”,在其子菜单中选择“Preferences…”,如图3。

图3

在左边的树状菜单中选择“C/C++”->“Make”->“New Make Projects”,在右侧选择“Binary Parser”这一栏,然后在下面点选“PE Windows Parser”,并将其他选项取消选择,完成之后点击“OK”,如图4。

图4

由于在CDT中进行make操作的默认命令为“make”,而MinGW中用于make的程序为“mingw32-make.exe”,所以应将CDT中所有的默认“make”命令都改为“mingw32-make”。但是这样更改非常麻烦,所以这里提供一个投机取巧的方法,将“C:\MinGW\bin\mingw32-make.exe”复制一份副本,重命名为“make.exe”即可。

在Eclipse中,是以“Project”即项目为单位进行开发的,不能够对不属于任何一个Project的单个源文件进行编辑和编译,所以打开Eclipse IDE之后的首要任务是新建一个工程。以新建一个C++工程为例,点击菜单栏的“File->New->C++ Project”,如下图:

    

    在弹出的对话框中依次输入Project name(工程名),选择Project type(工程类型),然后点击“Finish”(完成)。Project type分为两种,“Executeble”和“Makefile project”,其中“Executeble”为Managed C++ Project,即自动编译的C++工程;而“Makefile project”是通过写makefile来手动编译的C++工程,新手建议使用自动编译的C++工程。这里我们选择了一个“Executeble”的“Hello World C++ Project”(Hello World示例工程)。如下图:

  

    

    新建工程后的IDE界面如下图,左侧为Project Explorer(工程浏览器),中间是Editor(代码编辑器),右边是Outline(大纲),下方的“Console”就是传说中的控制台。在自动编译的C++工程中,当代码发生更改并保存后,eclipse便会自动调用编译器对此文件进行编译,编译信息会在控制台中输出,如果出现编译错误,则在出错的代码的左边会出现小红叉。

   

   

    编译成功后,在Project Explorer中会出现编译后的二进制可执行文件,如MyProject.exe。若要运行此程序,则右键之->Run As(运行为)->Local C/C++ Application(本地C/C++程序)即可,运行时的标准输出将输出在下方的控制台中。如下图:

   

    以上便是一个简单的C++工程的新建、编辑和运行的步骤,C工程与其类似。我在下一篇中将介绍Eclipse+CDT+MinGW平台下的Debug方法与技巧。

Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解的更多相关文章

  1. Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解

    Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解 操作系统:Windows 7 JDK版本:1.6.0_33 Eclipse版本:Juno ...

  2. VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)

    ------------VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)------------- WIN10已上线,随之而来的是VS2015:微软在 "WDK760 ...

  3. 移动开发必须要弄明白的问题】详解Eclipse转Android Studio

    2015-12-09 13:01:244264浏览3评论 AS出来一年多了,最近才从Eclipse转到AS,但我并不觉得使用Eclipse有多落后,它们都只是一个工具而已,哪个顺手就用哪个,用得好都能 ...

  4. windows下搭建eclipse关于python的开发环境及初始化参数配置

    1.安装jdk 因为eclipse是java开发的,运行eclipse程序需要安装jdk 安装jdk以后需要配置java_home环境变量 2.安装python2.7(比较简单,此处略) 3.下载ec ...

  5. Android开发重点难点1:RelativeLayout(相对布局)详解

    前言 啦啦啦~博主又推出了一个新的系列啦~ 之前的Android开发系列主要以完成实验的过程为主,经常会综合许多知识来写,所以难免会有知识点的交杂,给人一种混乱的感觉. 所以博主推出“重点难点”系列, ...

  6. iOS开发——开发实战篇&版本控制SVN和Git使用详解

     版本控制SVN和Git使用详解     公司的实际开发中,在天朝使用较多的还是SVN,因为SVN是集中式的,在天朝上班你们都懂的!     -----------------svn--------- ...

  7. 【IOS 开发】Object-C 入门 Xcode 环境详解

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38424965 一. Xcode 环境安装 与 工程创建 1. ...

  8. iOS开发从申请开发账号到APP上架的整体流程详解

    应公司要求,写一份文档从申请账号一直到APP上架的整体流程,下面进入正文. https://blog.csdn.net/qq_35612929/article/details/78754470 首先第 ...

  9. 微信小程序开发教程(八)视图层——.wxml详解

    框架的视图层由WXMKL(WeiXin Markup language)与WXSS(WeiXin Style Sheet)编写,由组件进行展示. 对于微信小程序而言,视图层就是所有.wxml文件与.w ...

随机推荐

  1. 解决hibernate只能插入一条数据的问题

    hibernate初学,根据视频教程写好代码后,发现无论执行多少次main函数,数据库中只有一条数据,尝试多次,后来终于发现问题... 使用的工具是:MYSQL 5.7.13   eclipse 4. ...

  2. js获取节点的DOM操作

    一直感觉DOM节点什么的乱七八糟的不能理解,可能博客也没办法写清楚,只能把知道的一些信息大致写下来慢慢再补充了. HTML DOM类型 Node类型 Javascript中的所有节点类型都继承自Nod ...

  3. js进度条实现

    1.先设置CSS样式(可自定义) /*#region 进度条 */ .progbar { background-color: #e1e1e1; width:auto; color: #222; hei ...

  4. thinkphp关联模型的注意大小写

    TP框架报错: think\Model:relation方法不存在 首先检查大小写,尤其是模型名称首字母大写 /**** 模型名字QqModel.class.php ***************** ...

  5. 利用spring、cxf编写并发布webservice

    配置文件spring-wsServer.xml <?xml version="1.0" encoding="UTF-8"?> <beans x ...

  6. Java基础以及与C++的一些对比

    这两天回忆一些Java基础,感觉自己很多地方都不是很牢固,也花费在不少时间和不少流量在手机上查资料. 还是写下来这些东西以免再忘记. 同时还是要记住多动手,编程最重要的就是动手敲啊,有想法有疑问就要自 ...

  7. js实现倒计时及时间对象

    JS实现倒计时效果代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> ...

  8. linux 实用知识整理

    http://www.apelearn.com/study_v2/ 查看端口占用 netstat -apn

  9. C. Santa Claus and Robot 思考题

    http://codeforces.com/contest/752/problem/C 这题的意思其实就是叫你固定x个点,使得按顺序走这x个点后,产生的轨迹是给定的序列. 对于有若干条最短路径走到第i ...

  10. [转] 你是as3老鸟吗?但是有些你可能目前都不知道的东西

    你是as3老鸟吗?如果以下内容对你有莫大的帮助,请顶下! 一:加载swf库中的图片 new 的过程就是图片解压缩的过程.处于 Class 状态时,图片占用的内存和 SWF 文件中这个图片占用的磁盘空间 ...