2011年8月12日星期五

emacs中配置cscope

安装



下载Cscope的源代码,按照源码包中的INSTALL说明文件,执行下面的命令进行配置编译安装

./configure

make

sudo make install



Cscope的源码包里面有个xcscope.el文件,为(X)Emacs提供了Cscope 接口。它处于源码包的 contrib/xcscope 目录下。该目录下面还有一个名为cscope-indexer的脚本文件,用于创建文件列表和数据库。



为了能够方便执行cscope-indexer脚本,需要将它放到PATH变量指向的文件夹下,如/usr/local/bin,并确认该脚本具有执行权限。把xcscope.el文件放到emacs的load-path下。



配置



在.emacs文件中加入下面的语句

(require 'xcscope)

或者,你希望只在打开c/c++文件的时候才加载xcscope,可以加入

(add-hook 'c-mode-common-hook '(lambda() (require 'xcscope)))



;;是否每次查询时更新数据库

(setq cscope-do-not-update-database t)



如果源代码全部处于同一个目录下面,现在就可以使用了(如果设置变量cscope-do-not-update-database关闭了查询时自动更新,还是得运行脚本)。否则,如果源代码有多层目录,或者其他地方还有附加的源代码,则需要 cscope-indexer 脚本。如果所有的源代码以及子目录都是在同一个目录下面的,只要执行 C-c s I(cscope-index-files) 就可以生成 Cscope 的数据库,接下来就可以使用了。具体命令和操作查看手册。



使用时遇到的问题的解决方法



如果你已经生成了数据库,但总提示



cscope :cannot read trailer offset from file cscope.out



这个问题的解决方法是:去掉cscope.out文件所在的路径的空格符

解决方法:去掉cscope.out文件所在的路径的空格符



参考资料: 在Emacs里面使用Cscope

没有评论:

发表评论