使用'semantic-symref-symbol'找不到任何引用

时间:2011-03-26 18:44:58

标签: emacs cedet emacs-semantic

每当我使用“semantic-symref-symbol”(Cc,g)尝试获取对任何符号的所有引用时,无论符号是C ++类成员变量还是本地符号,我都会收到No references found消息变量,它只是找不到任何参考。 gtag数据库位于我的项目根目录下。在我的.emacs文件中,我有以下内容:

(require 'semanticdb-global)
(semanticdb-enable-gnu-global-databases 'c-mode)
(semanticdb-enable-gnu-global-databases 'c++-mode)

当我在命令行下键入“global -xs symbol”时,它会正确显示符号的所有引用。但为什么语义找不到任何东西?另一方面,'semantic-symref'在查找类或类成员函数的引用时工作正常,但它不适用于变量。

它只是一个错误,还是我错过了任何阻止符号引用工作的东西?

1 个答案:

答案 0 :(得分:1)

这个问题与前几天在邮件列表中出现的使用GNU Global的方式有关。 GNU Global允许您查找标签的出现(使用-r)或随机符号(-s),Semantic使用-r标志,并且您提到的变量不被视为标签 GNU Global。

在cedet-global.el支持文件中,函数cedet-gnu-global-search,建议在搜索'符号时使用或添加-s标志。但是,我不知道此时的决议是什么。

您可以在cedet-devel邮件列表中看到整个帖子:

http://sourceforge.net/mailarchive/forum.php?forum_name=cedet-devel&max_rows=25&style=ultimate&viewmonth=201103