配置Eclipse CDT,支持VC编译器,送分!

Loaden 2009-08-13 07:11:23
本文旨在打造for VC最精简编译环境,所以不要下载Eclipse IDE for C/C++ Developers,因为有很多组件对于VC开发来说,是没有用的。
进入:http://download.eclipse.org/eclipse/downloads/,点击最新的Latest Release版本名称链接,比如当前是3.5,进入更丰富的下载页面:http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/index.php。
下载:eclipse-platform-3.5-win32.zip,才47MB。解压后,以插件的方式安装CDT的核心组件,参考:http://www.qpsoft.com/blog/eclipse-galileo-cdt-install-new-software/
注意:在选择CDT组件时,只要选择CDT Optional Features - Eclipse C/C++ Development Platform即可,这个组件20多MB。

一、C/C++环境配置:Window - Preferences - C/C++
1. Editor - Content Assist - Auto-Activation - Delay(ms),原值为500,改为100,则智能提示速度将非常快!
2. Enviroment,添加三个环境变量:
INCLUDE=${system:ECLIPSE_HOME}/include
LIB=${system:ECLIPSE_HOME}/lib
PATH=${system:ECLIPSE_HOME}/bin;${system:ECLIPSE_HOME}/tool/svn
3. Indexer,清空Files to index up-front的内容,修改Cache limits的值,尽可能大,可以提高速度!
4. Net CDT project wizard - Makefile Project
Binary Parsers,选中PE Windows Parser
Error Parsers,只选中CDT Visual C Error Parser
Discovery Options,取消Automate discovery of paths and symbols,因为VC不支持。
Builder Settings,取消Use default build command选项,将Build command的值从make改为nmake(注:也可不改,使用make)
5. Code Style,通过New来新建一个代码风格,命名为qpsoft,且初始化为BSD/Allmain,然后按习惯修改一些细节。
6. Editor - Templates,选中Use code formatter,这样快速完成的代码是自己自己设计好的风格。
7. Appearance,选中Group method definitions in the Outline view
二、让工程支持智能提示
由于VC编译器并没有将头文件路径编译进可执行文件,所以无法知道相关头文件的路径,需要手动设置,才能使用智能提示功能。方法:Project - Properties - C/C++ General - Paths and Symbols - Includes,Add,从Variables中选择INCLUDE,选中Add to all configuration、Add to all languages。

三、修改智能提示的快捷键
Window - Preferences - General - Keys,输入Content,找到Content Assist,在Binding中修改为Shift+Space,要顺手的多。

四、其他设置
1. Window - Preferences - General - Editors - Text Editors,选中Show line numbers,设置Print margin column为110
2. Window - Preferences - General - Workspace,取消Build automatically,选中Save automatically before build

五、通过插件扩展功能
1. 支持Subversion:Eclipse官方出品,主页位于http://www.eclipse.org/subversive/。在安装时可以通过Check Install Software,添加 http://download.eclipse.org/technology/subversive/0.7/update-site/

考虑到GNU MAKE比NMAKE的功能更为强大,而且CDT对gmake的支持明显要好过nmake(错误分析),所以我决定使用make来管理工程编译。经过测试发现Eclipse的智能提示功能相当强大,对VC的头文件支持的很好,速度也很快!只是内存占得多了些:物理内存250MB左右,虚拟内存280MB左右。
不过现在内存这么便宜,这点内存无所谓的。
总得来说,Eclipse + CDT确实是一个很理想的代码编辑环境,功能强大到超乎想像。

2009-08-19 特别提醒:可以使用Code::Blocks来管理工程,配合WinDbg来调试,比写makefile要方便得多!这样,工作管理交给CB,代码编辑交给CDT!

2009-09-12 特别补充:使用Code::Blocks,在编译与查找错误行之间还是比较繁琐,目前使用nmake写了一个Makefile模板,很好用,通过工具生成依赖关系,其实也很简单的。


另,准备用一个月的时间写一篇详细的教程,制作成pdf发布,敬请留意。
...全文
14356 148 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
148 条回复
切换为时间正序
请发表友善的回复…
发表回复
ToGetUp 2012-04-03
  • 打赏
  • 举报
回复
膜拜各位大神!
狐帝 2012-01-02
  • 打赏
  • 举报
回复
楼主该用用新的C::B了,现在的C::B的智能提示比Eclipse强多了,而且对编译器的支持也很方便。像VC编译器什么的,不需要特殊的配置,只要指定一下tool chain的位置和可执行文件就行了。不过Eclipse.CDT的代码格式化功能胜于C::B,所以我有时会用CDT来做代码格式化。
luo2356 2011-09-16
  • 打赏
  • 举报
回复
支持!但是我的智能提示,除了.和::其它都没有。不知道怎么回事?
blackartanan 2011-09-01
  • 打赏
  • 举报
回复
正要转向VC++的Java开发者路过,用eclipse用习惯了,十分感谢楼主的分享,这就马上试试,不知道配置完后可以做MFC吗,有VC6.0那种拖拽控件功能吗
hmily0917 2011-06-08
  • 打赏
  • 举报
回复
楼主 最近没事想用eclipse编辑c++ 代码 (我有两个项目 一个用vc6.0编译 一个用vs2008编译)不知道如何配置就可以在eclipse编译调试代码了 谢谢楼主

现在的最新eclipse好像不用下载cdt了
zylian 2011-03-31
  • 打赏
  • 举报
回复
我用过这个在windows下编程。但不知道如果在linux下用这个,有什么不同吗?好用吗?
「已注销」 2011-03-31
  • 打赏
  • 举报
回复
[Quote=引用 141 楼 zylian 的回复:]

我用过这个在windows下编程。但不知道如果在linux下用这个,有什么不同吗?好用吗?
[/Quote]
跨平台的,Linux下搭配GCC,由于内置构建环境及调试环境,更方便些。
如果用CMake,则一样的。
「已注销」 2011-03-30
  • 打赏
  • 举报
回复
如果合用VC编译器,CMake是一个不错的Makefile/VS工程生成工具。
用于工程管理,详见:http://blog.csdn.net/Loaden/archive/2011/02/15/6187002.aspx
xunxun 2011-02-22
  • 打赏
  • 举报
回复
[Quote=引用 135 楼 mwangyuqian 的回复:]

引用 113 楼 loaden 的回复:

VC可悲之处:不支持C99!
C/C++ code
#include <stdlib.h>
#include <stdio.h>

int test(int len, char* s)
{
char str[len];
strcpy(str, s);
printf("%s\n", str);
return strlen(str)……
[/Quote]
请问你使用的gcc的版本号是什么?现在4.5已经支持大部分C99了。
xunxun 2011-02-22
  • 打赏
  • 举报
回复
[Quote=引用 100 楼 loaden 的回复:]

引用 97 楼 kkk2007 的回复:
别的都是扯淡,搞vc还得visual studio 2008

我不这样认为!
实事求是的说,Eclipse + CDT 比不安装VSAssist的VS在代码编写、智能提示上要强大!!
另,Code::Blocks也是一个非常不错的开源IDE,只是代码提示功能太弱,没有重构功能。

引用 98 楼 tomzzu 的回复:
这个工具开源吗?……
[/Quote]
其实我想知道,MFC是免费让人用的么?C#的库也可以免费使用么?为啥那么多人都在用,都买了授权?
「已注销」 2011-02-22
  • 打赏
  • 举报
回复
[Quote=引用 134 楼 mwangyuqian 的回复:]

引用 106 楼 zhoudaxia 的回复:

大家可能不知道,真正把IDE的集成化、智能化提高到一个新程度的其实就是Eclipse。当初Eclipse 3.0-3.2的时候(这时Eclipse正趋于成熟),我还在读大二大三,那时Eclipse简直红得发紫,其强大的代码智能化功能令其他IDE都望其项背(那时Visual Studio集成程度、智能化程度都还差远了,只是在拖拉控件式的快速开发……
[/Quote]
该试试新版本吧。
我放了一下午,晚上再用,还好好的。
mwangyuqian 2011-02-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 loaden 的回复:]

引用 4 楼 healer_kx 的回复:
Eclipse搞C++,也不知道CDT的智能编辑怎么样?

十分强大,而且速度爆快!目前网上评论CDT时认为其智能完成功能弱,我想可能是CDT的老版本或老机器。
目前的CDT 6.0改进了智能提示功能,智能提示功能绝对不输给VS。
而其针对代码编辑的易操作性,可能是目前所有C++编辑器里最好用的!
其重构、函数实现,都非常好用。这些是VS(……
[/Quote]
语法分析还有一些问题
mwangyuqian 2011-02-22
  • 打赏
  • 举报
回复
[Quote=引用 113 楼 loaden 的回复:]

VC可悲之处:不支持C99!
C/C++ code
#include <stdlib.h>
#include <stdio.h>

int test(int len, char* s)
{
char str[len];
strcpy(str, s);
printf("%s\n", str);
return strlen(str);
}
int main()
{……
[/Quote]
CDT + MinGW 不能编译
mwangyuqian 2011-02-22
  • 打赏
  • 举报
回复
[Quote=引用 106 楼 zhoudaxia 的回复:]

大家可能不知道,真正把IDE的集成化、智能化提高到一个新程度的其实就是Eclipse。当初Eclipse 3.0-3.2的时候(这时Eclipse正趋于成熟),我还在读大二大三,那时Eclipse简直红得发紫,其强大的代码智能化功能令其他IDE都望其项背(那时Visual Studio集成程度、智能化程度都还差远了,只是在拖拉控件式的快速开发方面略胜一筹),其插件式的架构(在那时这可是一……
[/Quote]
Eclipse 放着不动20分钟,必卡,卡的要死!
VS就没有这个问题,虽然同样都是用的虚拟机(JVM和.net framework)
「已注销」 2011-02-16
  • 打赏
  • 举报
回复
CDT和CMake搭档,可以实现跨平台开发。
即一个工程文件,在不同的平台,使用不同的编译器。
Code::Blocks需要维护两份工程文件,这实在是有点烦琐,不过这也没办法,不然太麻烦了。

这是我这两天通过CDE和CMake搭档实现跨平台工程管理,基于Makefile的嵌入式工程管理的配置博文:
http://blog.csdn.net/Loaden/archive/2011/02/15/6187002.aspx
kerosun 2011-01-20
  • 打赏
  • 举报
回复
从老邓的另一个CodeBlocks帖子中找到了vs编译器
这个怎样配置CDT让它知道我系统有VS编译器
是要必须放在eclipse主目录中吗
kerosun 2010-12-31
  • 打赏
  • 举报
回复
希望楼主讲一下如何提取vs编译器,在cdt怎样设置使用vs编译器。
tiandaoc 2010-10-08
  • 打赏
  • 举报
回复
(⊙o⊙)
迟到了...
Bean_Young 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 127 楼 aquastar 的回复:]
补充下就如http://z95001188.javaeye.com/blog/220497 这篇文章所写的方法,似乎CDT没办法吧?
[/Quote]

这个是针对Java的设置,现在的CDT 7.0貌似还不能设置这些。。。

不过我写程序要么就是C要么就是Java,C++无视,现在感觉C++非常不伦不类的
加载更多回复(128)

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧