0

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

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

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

它只是一个错误,还是我错过了使符号引用无法正常工作的任何东西?

4

1 回答 1

1

这个问题与 GNU Global 在语义中的使用方式有关,前几天出现在邮件列表中。GNU Global 允许您查找标记(使用 -r)或随机符号(-s)的出现,语义使用 -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

于 2011-03-29T11:19:50.140 回答