明天就回国了,今晚回国前写写如何配置eclipse和CDT。这个配置方法网上讨论不是很多,可能用的人少,毕竟Windows上写C++程序多数喜欢VS,即使写的是Linux程序,很多人仍然会用VS(说只喜欢用VI的人我佩服)。的确VS很强大,但我也geek一回,使用eclipse做C++程序(用VI才是真正的geek?好吧,我就这水准了,反正我会用VI,但不习惯VI)。希望这篇小小的文章能帮助想在Windows平台上使用gcc/g++和gdb并利用IDE调试程序的人。也希望我们谈到g++和gcc的时候不会再感到神秘或者觉得那是命令行的东西。

这个配置方法我摸索了几天,当然要回国了,忙,自己也懒,其实这几天摸索的时间加起来也就7,8个小时而已,呵呵。

Ok,不废话,开始。

网上配置eclipse+CDT的文章不多,来来去去也就这么几篇,我尝试过,要么过时,亦或者感觉不是很全面,总之没能把我的遇到的问题都完美解决,即使去stackoverflow网站也没有解决我遇到的问题,看来用的人真的很少很少。这里我就打算把我的配置过程全部说出来。

首先,Windows下用eclipse玩C++用到一下三个东西:

1、  eclipse

2、  CDT(一个在eclipse开发C++的插件)

3、  Cygwin(Windows平台的unix模拟程序,包含了gcc和g++),有人说用MinW,但我选择了Cygwin,我想是差不多的,我之所以选择Cygwin是因为它更能大部分模拟unix命令,也很方便。

一、Eclipse下载与安装

Eclipse可以直接去官网下载,Google就可以搜到网址,不多说了。Eclipse是免安装的,下载直接用。这里展示一下我的版本:

二、CDT下载与安装

CDT可以直接下载带有CDT版本的eclipse,亦或者在eclipse的help菜单处查找更新,下载,安装,尤其你是Java程序员的时候。更新方法如下:

1.        打开eclipse,然后:

2.        再在相应的地方输入以下网址,回车,下面出现的可更新软件选项全都勾上,如图:

http://download.eclipse.org/tools/cdt/releases/indigo

然后点击next,下载,就OK了。

当然,如果你做android的,直接去android的官方开发网站下载android开发版本的eclipse,也就是eclipse+ADT其中也带有CDT了。

3.        Cygwin下载与安装

Cygwin同样直接Google搜索官方网站下载安装程序,打开安装程序setup.exe,然后选install from internet,接着选择存放位置,代理服务器什么的,最后选择好下载服务器(默认会选择最快的服务器),进入下载列表,这个列表就是要求你下载什么程序的列表,请务必安装以下程序,最恼人的就是,这些必备的程序统统都不是默认安装的。所以,请使用搜索功能,找到这些程序,然后自己勾上,务必安装:

1.        搜索g++和gcc,把相应的程序都勾上;

Gcc的太多了,不截图了,有gcc的能勾都勾上吧,宁杀错,不放过!

顺便说一下,我之前已经安装好了,所以可以看到图中New这一栏中是写着keep,如果没安装,应该是写版本号。如果你真的漏掉什么没安装,重新进入这个setup的时候务必在右上角选择keep这个选项,否则默认下选Cur会把所有软件都重新安装一遍,时间会很长!

2.        搜索gdb,同样勾上devel目录下的程序(我已经装了,所以是显示keep):

3.        搜索make,同样勾上debug和devel目录下的程序。

然后点击next,就可以下载和安装了,第一次过程有点长,耐心……

三、配置

关键时候到了,这个时候就开始配置了。其实配置并不是很复杂,但真心需要耐心在茫茫eclipse的各个选项中慢慢摸索。Ok一步步来。

1.        配置环境变量

貌似开源阵营最喜欢搞环境变量,cygwin也不例外,毕竟是从Linux过来的东西。配置过环境变量的人都应该轻车熟路,我的是vista系统,其他系统如何设置环境变量可以上网Google,不难:

右击我的电脑->属性->高级环境设置->环境变量,然后在系统变量里面找到path这个变量,双击,在原有的基础上加上cygwin的bin路径(注意,每个路径之间需要有分号隔开)。例如我的cygwin是保存在D:\linux\linux,那么加入的环境变量路径就是D:\linux\linux\bin。

然后点击确定,保存。按ctrl+r,在弹出的cmd对话框中试试以下命令是否ok?

输入:make –v会有make的版本信息打印出来,同理gcc –v,gdb -v和g++ -v也都有版本信息打印出来,这些没问题了,就表明cygwin的配置到此结束了。

2.        配置eclipse

首先,启动eclipse,在菜单中点Windows->preferences,然后勾上图中所示选项,这是让cygwin编译生成Windows的PE文件:

若之后调试时出现no binaries错误(设置上面这一步不太可能出现这个问题),则去菜单project->preferences,勾下面图中这个选项:

接着就可以新建工程了,打开eclipse,新建一个C++工程:

点击next,然后输入项名称,并在tool chain上选cygwin

没有cygwin这个tool chain怎么办?那就选other tool chains,最后点finish,项目就生成了:

如果之前选的是other tool chains是没有includes这个目录的,这个includes目录怎么出来的呢?右击项目名称,选properties,在弹出的对话框中选择C/C++ build->Tool chain Editor:

在current toolchain的下拉列表中选cygwin,如果下拉列表没有cygwin,就把上面那个Display compatible tool chain only那个勾去掉,下拉列表就会出现cygwin了。请确保usedtools中包含cygwin的C++ compiler和linker,若不包含,就点select tools按钮加上,这个操作很直观,就不截图了。

确定保存这些选项后,回到主界面,这个时候就会发现includes目录出现了。

接着,单击New按钮,也可以右击工程名,选择New,新增一个cpp文件:

输入经典的hello world:

按理来说这个时候点击就可以编译链接程序了:

但这里只会编译链接,但不会运行,也不会调试程序,而是出现没有找到program的错误。eclipse没有送佛送到西,好人做到底,我们还得手动做个简单的配置:

进入debug configuration对话框,选择C/C++application->test debug:(test是我的工程名)

点击search project按钮,在弹出的对话框中:

选择刚才编译出来的exe文件,再试一次:

Hello world终于打印出来了:

这个时候你可以设置断点,单步调试程序了,配置基本到此结束,开始享受传说中的gcc/g++和gdb吧

eclipse下使用cygwin的方法(Windows下用eclipse玩gcc/g++和gdb)的更多相关文章

  1. 3.Ubuntu下安装mysql并在windows下使用Navicat来连接

    一.安装mysql(只需要三条命令) 1.第一条命令(中间需要输入root用户密码): sudo apt-get install mysql-server 2.第二条命令: sudo apt-get ...

  2. Linux学习笔记之如何把ubuntu下的c文件共享到windows下文件夹

    1.首先可在桌面新建文件夹,或者自己任意路径文件夹都可以, 2.在Linux下点击虚拟机 点击设置 点击选项,选择共享文件夹,点击总是启用,然后添加文件夹,添加你windows下想保存的文件夹   可 ...

  3. 自己通过Cygwin编译的windows下的redis3.2.6

    采用方法:https://my.oschina.net/maxid/blog/186506 方法中在3.2.6未找到src/redis.h文件 未修改 方法中 /deps/hiredis/net.c ...

  4. CentOS7下rsync服务端与Windows下cwRsync客户端实现数据同步配置方法

    最近需求想定期备份服务器d盘的数据到Linux服务器上面,做个笔记顺便写下遇到的问题 以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的bat脚本 和整过一个Linux下的r ...

  5. 设置QT应用程序图标方法(Windows下)

    学习笔记,言简意赅. 1- 新建文本文件,编辑输入  IDI_ICON1   ICON    DISCARDABLE     "./image/WindowIco.ico" 注意: ...

  6. [方法] Windows 下SSH远程连接Linux

    考虑到Linux服务器自带SSH服务,并且SSH服务开机启动. 因此,方法如下: 安装putty 输入Linux服务器IP地址 此外,如果想远程重启Linux服务器,在命令行中输入reboot即可.

  7. 转:LINUX/UNIX下的回车换行与WINDOWS下的区别

      今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了.在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 3 ...

  8. CentOS7 下 配置Docker远程访问 与 windows下使用maven构筑Spring Boot 的 Docker镜像到远程服务端

    1.设置Docker服务端,以支持远程访问: 修改docker服务端配置文件,命令: vim /usr/lib/systemd/system/docker.service 修改后: [Unit] De ...

  9. Linux下原子性操作,类似Windows下的InterLockedXXX

    其中,这些操作的操作数(type) 可以是1,2,4或8字节长度的int类型,即: int8_t / uint8_t int16_t / uint16_t int32_t / uint32_t int ...

随机推荐

  1. 防火墙 0x80070422

    1.无法打开操作中心-安全服务,解决方法:控制面板->管理工具->服务,找到Security Center 服务,双击打开,查看启动类型是否设置成禁用,是的话更改成自动或者延迟启动,之后就 ...

  2. Quartz Job执行后再更新Job的时间表达式....

    CronTrigger 表达式最大循环时间是1年?那么实际应用中的提醒超过1年怎么办呢? 先看一下界面: 参数说明:提前提醒时间:1-60分钟.1-24小时.1-90天:重复提醒:每1-59分钟.每1 ...

  3. spring boot注解 --@spring-boot-devtools 自动加载修改的文件和类

    spriing boot中有一个注解,是自动加载修改后的类或者文件. 使用方法为: spring-boot-devtools=true 需要引入devtools包依赖: <dependency& ...

  4. html实现带斜线的表头

    在html.jsp中经常用到table,但在table中如何实现标题表格中画斜线的操作呢?从网上查了很多资料,可以实现的方法有好几种,现在提供一种简单的操作方法,而且不用考虑分辨率的问题,如图: 方法 ...

  5. JSON.parse()和jQuery.parseJSON()的区别

    jQuery.parseJSON(jsonString) : 将格式完好的JSON字符串转为与之对应的JavaScript对象   (jquery 方法) 1 2 3 var str = '[{&qu ...

  6. 论文神器Latex30分钟快速入门教程-只需9步向学神看齐

    小E说:工欲善其事,必先利其器.立志做个安静的美学霸的你,学会Latex,一定能使你的论文写作事半功倍. 1.LaTeX软件的安装和使用 方法A(自助):在MikTeX的官网下载免费的MikTeX编译 ...

  7. 在Ubuntu 12.04 桌面上设置启动器(快捷方式)

    在Ubuntu 12.04 桌面上设置启动器(快捷方式)过程讲解: 如下图所示,Eclipse 和 SQLDeveloper 都可以直接双击打开,这些应用程序的启动器都在 /usr/share/app ...

  8. 原创BULLET物理的DEMO

    原创BULLET物理的DEMO 按空格和0,1,2,3,4,5,6会发射不同的刚体. 具体的使用说明: 鼠标右键按下并拖动         旋转视角WSAD                       ...

  9. [转]室友靠打游戏拿30万offer,秘密竟然是……

    又是一年秋招季,苦逼的小编还天天泡在图书馆里刷PAT,室友大佬却已经到处拿offer.上周某室友已经成功拿到杭州某企业年薪30W的offer,小编虚心向其讨教,某室友一脸兴奋地告诉小编,HR让面试者们 ...

  10. flink和spark stream等框架的对比

    参考这篇文章: https://www.sohu.com/a/196257023_470008 我们当时的目标就是要设计一款低延迟.exactly once.流和批统一的,能够支撑足够大体量的复杂计算 ...