详解 Windows 下 Eclipse CDT 配置 C/C++ 编译环境

其实 windows 下,C、C++ IDE 也不少,但许多IDE的 UI 和用户体验基本都停留在上个世纪,除了 eclipse CDT 和 visual studio,但后者现在是个巨无霸,安装文件都 3 个多G,而且这货安装容易删除难,但 eclipse CDT 就不一样了,绿色无污染,熟悉 java eclipse 的同学也能快速适应~

1、Eclipse及CDT的安装

  • 离线安装CDT

到Eclipse的官方网站http://www.eclipse.org上下载Eclipse。

CDT的全称是C/C++ DevelopmentTools,是使Eclipse能够支持C/C++开发的插件。进入CDT的官方网站,http://www/eclipse.org/cdt,然后选择一个镜像站点分别下载CDT。下载完成后,将这两个压缩包解压到Eclipse的目录中或通过插件方式安装。

注意:CDT的版本和Eclipse的版本有严格的对应关系,如果版本对应不正确就会安装不成功。

  • 在线安装CDT

也可以在安装完Eclipse后,通过Eclipse的软件更新功能在线安装CDT,具体步骤可以参考Eclipse的在线文档。

  • 直接下载 eclipse CDT 集成版

如果你不想在插件上折腾,也可以直接下载 eclipse 官方已经编译好的二进制版 eclipse CDT:

http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/lunasr2

2、安装MinGW/CygWin

Cygwin 是用于 Windows 的类 UNIX 环境,它包括 GCC 移植以及所有必需的开发工具,包括 automake 和 GNU 调试器(GNU Debugger,GDB)。Cygwin 是在cygwin1.dll 库基础上构建的。Cygwin 的备用解决方案是 Minimalist GNU for Windows(MinGW)(请参阅参考资料以获得链接)。该工具是一组可免费获取、自由分发的特定于 Windows 的头文件和导入库,这些头文件和导入库与 GNU 工具集(它们允许您生成不依赖于任何第三方 DLL 的本机 Windows 程序)结合在一起。如果您想要创建与 POSIX 兼容的 Windows 应用程序,那么 MinGW 是最佳选择。MinGW 甚至可以在 Cygwin 安装之上工作。

现在 eclipse CDT 还无法编译执行 C/C++ 程序,因为缺少了重要的部件。这个部件就是C/C++的编译器。在WindowsOS下我们可以选择MinGW(Cygwin 也一样可以)。到MinGW的网站 http://mingw.sourceforge.net  上,下载MinGW,安装。安装后,要配置一些环境变量。

3、添加环境变量

右键我的电脑->属性->高级->环境变量->系统变量中添加

MINGW_HOME=C:/MinGW

LIBRARY_PATH = %MINGW_HOME%/lib

C_INCLUDE_PATH = %MINGW_HOME%/include

在PATH变量的最后增加 ;%MINGW_HOME%/bin

CygWin 同上操作。

4、配置MinGW

因为Eclipse预设用来编译的文件为 make.exe,但是 MinGw 安装后 make 的文件名是mingw32-make.exe

因此需要把 mingw32-make 改名为 make

安装完后,环境变量可能会在安装过程中自动设置好,在cmd中输入gcc测试一下,假如显示gcc: no input file ,则安装已成功,否则,自己把c:/mingw/bin的目录手动加到环境变量(path)里面。

5、配置Eclipse

为了让CDT能够采用MinGW进行编译,需要在 Eclipse 中进行设定

Window->Preferences->C/C++->Make->NewMake Project->New Builder

->Binary Parser 取消 Elf Parser 改选 PE WindowsParser(或者 Cygwin/MinGW)

6、创建、编译C/C++工程

新建->Managed Make CProject->添写工程名,然后在项目下创建"SourceFile",名称任意,扩展名为.c。

7、常见问题:

7.1 launch failed no binaries  错误

Windows > Preferences > C/C++ > New CDT project wizard > Makefile Project > Binary Parsers

a) Set it to Windows PE Parser if you are on windows.

b) Set it to Cygwin PE Parser if you are using Cygwin

Windows > Preferences > C/C++ > Build > Environment

Now click on "select" and select "Path" variable so that you add you path variables in Eclipse.

如果以上都操作完成,则可以 ctrl + B(编译工程),然后 ctrl + F11(运行工程)

7.2 Run 出现莫名其妙的奔溃

这种情况一般是你的 cygwin/MinGW 编译环境安装不完善/版本有问题导致的,你可以换一个其它IDE环境或者重新完整安装试试,我这里选择安装 C-Free 5,它自带了一套 MinGW 环境,重新设置之前的三个环境变量指向C-Free 5的MinGW ,然后重试一切OK~

7.3 CDT插件安装完毕后,在Eclipse新建项目向导中无法找到C、C++项目

由于CDT版本与Eclipse版本不匹配,更换合适的CDT版本,问题便会解决。

8、code 运行示例:

#include <stdio.h>
#include <stdlib.h>

int main()
{
	char c;
	printf("%s","please input a char:\n");
	fflush(stdout);
	scanf("%c[\n]", &c);
	char c2Ascii = toascii(c) + 35;
	printf("the original char is: %c, and the convert char is: %c\n", c, c2Ascii);
	return 0;
}

9、Refer:

[1] 详解Windows下Eclipse CDT 配置C-C++ 编译环境

http://blog.csdn.net/jason314/article/details/5639334

http://blog.csdn.net/chaofanwei/article/details/11841621

[2] 用 Eclipse 平台进行 C/C++ 开发

http://www.ibm.com/developerworks/cn/linux/opensource/os-ecc/#resources

[3] Launch Failed Binary not found eclipse for C in windows

http://stackoverflow.com/questions/9407430/launch-failed-binary-not-found-eclipse-for-c-in-windows

[4] Launch Failed. Binary not found. CDT on Eclipse Helios

http://stackoverflow.com/questions/4971926/launch-failed-binary-not-found-cdt-on-eclipse-helios

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏deed博客

安卓SDK镜像

27740
来自专栏程序员互动联盟

计算机的启动过程(详细)

对于使用电脑用户来说,打开电源启动电脑几乎是每天必做的事情,但计算机在显示这些启动画面的时候都在做什么呢?大多数用户都未必清楚。 下面就向大家介绍一下从打开电源...

31950
来自专栏IT大咖说

如何利用开源DevOps工具完成云上的自动运维

内容概况 云计算的特点是开箱即用,可以随时的扩缩容,不用考虑硬件的损坏问题,也有丰富的云服务和云平台供我们选择。在本次演讲中,黎山通过实际应用场景为我们讲述了基...

47170
来自专栏技术翻译

如何在DC / OS上构建高度可扩展的物联网平台

我最近一直在使用新的Percona-Server-MongoDB DC / OS服务,作为这项工作的一部分,我决定尝试使用Percona-Server-Mong...

17940
来自专栏Java架构

百度微服务架构师随手笔记:教你如何手写Docker涉及到的技术Hello world要有Shell彻底分离

20630
来自专栏云计算

如何让你的微服务保持稳定

在用微服务工作时,我们通常还需要在本地进行一些开发,这可能是一个痛点。在本篇文章中,我们将探讨一个可能有效的解决方案。

16320
来自专栏北京马哥教育

用Docker搭建微信公众号

此文我将带大家用Docker来搭建一个微信公众号的后台,主要涉及Docker里运行JavaWeb的技术,一起来做这个有意思的事情吧! (如果你对Docker了解...

589110
来自专栏deed博客

win8降级win7步骤

19940
来自专栏繁花云

[grub2-filemanager] grub下的文件管理器

grub2-filemanager是一个兼具文件浏览的加载引导器,其默认的配置可引导linux类常见的系统(热门linux、openbsd、Android-X8...

27600
来自专栏CodeSheep的技术分享

利用K8S技术栈打造个人私有云(连载之:K8S环境理解和练手)

在前文中我们已经搭建好了K8S集群,接下来就来讲述一下K8S的一些重要的概念和知识,并搞两个例子在集群中来实际练手感受一把!

492140

扫码关注云+社区

领取腾讯云代金券