4

我想为各种库设置单独的 ctags 数据库以/usr/include/用于OmniCppComplete

这个想法是能够仅提取目标语言(C 或 C++)中特定项目所需的库。

例如,我想要一个用于标准 C 库的数据库,一个用于可能被 C 或 C++ 程序使用的系统库(想到套接字/网络),一个用于标准 C++ 库/STL / Boost,然后是各种第三方库的其他数据库,例如 QT 或 glib。然后我可以简单地通过输入set tags+= ~/.vim/somelib.tagsvim 来获取一些东西。

我假设与 C++ stdlib 和 STL 相关的/usr/include/c++所有内容都在/usr/include/boost. 不幸的是,标准 C 库和系统库似乎只是直接/usr/include/与各种其他东西一起倾倒。

如何获取哪些文件和目录属于哪些库的列表?我在 Ubuntu 8.04 上。

4

1 回答 1

1

apt-file是你在 Ubuntu 上的朋友。

以下命令将为您提供 Boost 的所有包含文件的列表:

apt-file list -x "^libboost" | grep '/include/' | cut -f2 -d:

我会把剩下的留给读者练习!

更新:为了完整起见,apt-file update如果您以前从未使用apt-file过,请致电。

于 2010-05-14T07:25:59.440 回答