让Gnu Global 搜索其它头文件,包括系统头文件,其它库的头文件
gnu global 通过GTAGSLIBPATH环境变量来确定符号数据库的位置,可以通过把其它的头文件索引成gtags符号数据库后,在GTAGSLIBPATH在添加该数据库位置,这样global就可以找到该头文件中的定义了。
1.建立其它文件的索引
. 新建一个目录存放符号数据库,如:mkdir gtags-datas,
.把需索引的头文件目录链接到该目录下,如:ln -s /usr/include include
.创建符号数据库: gtags ./
也可以直接在原头文件目录中创建符号数据库。
有一点需注意,在使用gtags -f filelist ./ 创建数据库时,filelist中的文件需在dbpath子目录下,要不会报错:*** is out of source tree. ignored. 这也是上述方法中需把头文件目录链接到数据库所在目录的原因。
2.添加符号数据库到GTAGSLIBPATH
在emacs下可用如下方式(前担是emacs已配置,可以使用global):
M-x add-gtabslibpath 在提示中输入前面设置的符号数据库路径:gtags-datas
3.使用
完成上述步骤后,就可直接用 gtags-find-tag gtags-find-symbol查找其它库中定义的符号了。