我在查找类/结构定义时遇到全局问题。 我可以用丰富的ctags和cscope找到它们。 所有标记文件都是从同一源文件列表构建的。 我配置并构建了global,et.al。,只指定了--prefix。 configure确实找到了exhuberant并正在使用它。 多年来我一直在定期尝试全球化,而且总是遇到这个问题。 有什么想法吗?
感谢, davep
答案 0 :(得分:7)
只需导出此变量即可。从gtags
-
GTAGSFORCECPP
If this variable is set, each file whose suffix is 'h' is treated as a C++ source file.
答案 1 :(得分:6)
我发现了我做错了什么。也许这会对某人有所帮助。
我找到了2个修复程序:
1)如果你有丰富的ctags,那么最好是将它作为默认值。充满活力的默认配置正确处理.h文件。如果没有,请使用方法2.在.globalrc中,更改
default:\
:tc=native:
to
default:\
:tc=ctags:
2)如果你没有充满活力的ctags,请编辑.globalrc并从
更改内置解析器的langmap行builtin-parser:\
:langmap=c\:.c.h,yacc\:.y,asm\:.s.S,java\:.java,cpp\:.c++.cc.hh.cpp.cxx.hxx.hpp.C.H,php\:.php.php3.phtml:
to
builtin-parser:\
:langmap=c\:.c,yacc\:.y,asm\:.s.S,java\:.java,cpp\:.c++.cc.hh.h.cpp.cxx.hxx.hpp.C.H,php\:.php.php3.phtml:
即。删除.h与C的关联并将其与C ++关联。 这可能会导致C .h文件出现问题。如果是这样,您可能需要将所有 C ++ .h文件重命名为.hh,.hpp,.hxx等,如langmap中所示。
根据我对C ++的经验,看起来大多数人仍然使用.h作为头文件。