1

我已经安装了omnicppcomplete、taglist、cscope等,并使用以下方法生成了我的标签/usr/include

ctags -R --c++-kinds=+plx --fields=+iaS --extra=+q .

在我的.vimrc我设置:

set tags=/usr/include/tags,./tags,./..tags,./**/tags

但是现在当我编写多线程程序时,我无法切换到pthread_create并按+ 。它说“未找到标签”。pthread_mutex_initCtrl]

所以我写在这里寻求帮助。谢谢。

4

3 回答 3

1

看看这个 SO 帖子,它可能会解决你的问题:

ctags 忽略 libc6、libstdc++ 和 boost 的列表

于 2011-05-05T08:57:50.643 回答
1

您应该查看您的标签文件以确定是否pthread_mutex_init并且pthread_create实际上在其中。如果不是,则很可能是 (1) 未扫描源或 (2) 它们实际上并不以您期望的形式存在。pthread_create和都pthread_mutex_init包含在 中libc,这是一组非常复杂的代码,经常会发现符号是通过多层预处理器宏以间接方式定义的,在这种情况下,ctags 将不起作用。

于 2010-08-25T03:27:51.680 回答
0

请按如下方式测试,因为 ctags 需要一些 micros 才能生成

sudo ctags -I THROW -I __THROWNL -I __attribute_pure -I nonnull -I __attribute -R --c-kinds=+p --fields=+iaS --extra=+q --language-force=C /usr/include /

于 2013-03-20T09:02:20.027 回答