0

我试图在我的 Emacs 中使用 GNU Globals,发现它找不到函数定义。经过长时间的搜索,我最终发现 GNU Globals 本身对我来说有点坏了,它几乎没有索引任何东西!考虑一个例子:

$ cat test.cpp 
class Foo {
public:
    int myint;
    short myshort;
    char mychar;
};

int main() {
    Foo obj;
    obj.myint = 0;
    return 0;
}
$ gtags
$ global Foo
test.cpp
$ global myint
$ global -r myint
$ global Foo::myint
$ global -r Foo::myint
$ cat GTAGS | grep myint

最后我尝试 grep «myint» 并发现它甚至不存在于 GTAGS 中!唯一提到它的地方是 GSYMS 文件。当然,起初我尝试使用单独的«.hpp»文件使用相同的代码,它也没有工作。

更新:我发现可以同时使用 ctags 和 etags 创建全局标签。为此,需要发出export GTAGSLABEL=/usr/bin/etags (或发送至 ctags),然后gtags再次启动。该变量有效,通过添加错误路径很容易检查,因此gtags会说错误。所以,我用我的例子尝试了两个后端,但都没有工作。

4

0 回答 0