cedet


配置Emacs为C/C++开发环境:安装配置cedet

Table of Contents 犯罪动机 源代码下载 编译cedet 配置 替换内置的cedet 其他的配置 安装配置ecb 使用过程中遇到的问题 鼠标,又见鼠标 犯罪动机 刚开始使用Emacs时,也有找过cedet的相关资料,只是当时还不怎么用Emacs来写C/C++代码,所以只是浅尝辄止,也可以说几乎就没弄。渐渐熟悉了Emacs,在上面写代码的频率也高了,于是又重新拾起cedet。 由于使用的是Emacs24,里面已经自带了cedet,起初认为自带了更好,不用折腾。等到真正查资料要配置时,才发现根本不是那么回事。比如网上配置cedet的帖子中,常常会提到semantic-load-enable-minimum-features等设置函数,可是无论我怎么搞(加require ‘cedet,加semantic/canned-configs等),就是不行,一直出错。实在不行了,就跑到/usr/local/share/emacs/(我是用brew装的Emacs)下用find命令去抓semantic-load-enable-minimum-features这个串,结果还是没抓着,于是确定是Emacs内置的cedet并不包含这部分实现。起初还以为是OSX下的Emacs的问题,后来跑到Ubuntu下试,一样一样的!于是找啊找啊,总算找到为什么:semantic-load-enable-minimum-features这种设置方式,不符合minor-mode的规范,因此去掉了。邮件中还提到其他的几点改动,包括部分去除调试功能,使用的cedet版本较老等。 考虑了一下,还是觉得内置的版本不爽,于是决定折腾折腾自己,到官网上下载来编译安装。 源代码下载 这个很简单,Google一下,马上知道。到cedet的官网源码下载页上找到下载地址,使用bzr或者git下载即可: bzr checkout bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk cedet 为了方便,我在.emacs.d中建了一个3rd-party的文件夹,将cedet的源码直接下载到了这个目录下。 编译cedet 编译过程相对简单,也很顺利: # cd cedet make EMACS=/usr/local/bin/emacs-24.3 # optional to compile cedet/contrib: cd contirb make EMACS=/usr/local/bin/emacs-24.3 上面脚本首先进入cedet目录中编译cedet的标准模块,而后(可选)进入contrib子目录,编译其他不符合FSF协议的模块。 配置 替换内置的cedet 由于Emacs24内置了cedet,因此要尽早载入外部的版本(比如在.emacs的开头),避免由于Emacs已载入内置的eieio(cedet中的基础模块)而导致我们的cedet无法载入的问题。 ;; load cedet. It is very […]