我想为/usr/include/
中的各种库设置单独的ctags数据库,以便与OmniCppComplete一起使用。
我们的想法是只能使用目标语言(C或C ++)引入特定项目所需的库。
例如,我想为标准C库创建一个数据库,一个用于C或C ++程序可能使用的系统库(插槽/网络可以想到),一个用于标准C ++库/ STL / Boost,然后是各种第三方库的其他数据库,如QT或glib。然后我可以通过在vim中输入set tags+= ~/.vim/somelib.tags
来拉取内容。
我假设与C ++ stdlib和STL相关的所有内容都在/usr/include/c++
中,并且Boost全部在/usr/include/boost
中。不幸的是,似乎标准的C lib和系统库只是直接转储到/usr/include/
中,并带有各种其他东西。
如何获取哪些文件和目录属于哪些库的列表?我在Ubuntu 8.04上。
答案 0 :(得分:1)
apt-file是您在Ubuntu上的朋友。
以下命令将为您提供Boost所有包含文件的列表:
apt-file list -x "^libboost" | grep '/include/' | cut -f2 -d:
我会把剩下的作为读者的练习!
更新:为完整起见,如果您之前从未使用过apt-file update
,请致电apt-file
。