我已经启用了GNU Global数据库:
(setq cedet-global-command "global")
(when (cedet-gnu-global-version-check t)
(semanticdb-enable-gnu-global-databases 'c-mode t)
(semanticdb-enable-gnu-global-databases 'c++-mode t))
cedet-gnu-global-version-check
显示正确的版本和cedet-gnu-global-show-root
跳转以更正项目根目录。但是,根据Eric在这里的回答:How can I tell if CEDET is using GNU Global?,评估(semantic-symref-detect-symref-tool)
总是给我grep
,即使CEDET认可GNU Global版本。
如何真正使CEDET能够使用GNU Global?
编辑:我必须强迫CEDET使用GNU Global:
(setq-default semantic-symref-tool "global")
不确定这是否是一种正确的设置方式,但目前这是我的解决方法,使CEDET使用GNU Global。或者(semantic-symref-detect-symref-tool)
可能有错误吗?
答案 0 :(得分:3)
在您的修改中,将semantic-symref-tool
设置为“全局”是开始使用它的好方法。
如果项目的根目录中有GPATH
文件,则检测机制(默认)将尝试使用全局。项目的根目录是通过EDE或当前目录识别的。因此,如果您在~/myproj
中有一些项目,但GPATH
位于~/myproj/src
,则会错过。