Reputation: 40598
I want to set up separate ctags databases for various libraries in /usr/include/
for use with OmniCppComplete.
The idea is to be able to pull in only the libraries needed for a particular project in the target language - C or C++.
For example, I'd like to have one database for the standard C libraries, one for system libraries that might be used by either C or C++ programs ( sockets / networking comes to mind ) one for the standard C++ libs / STL / Boost, and then other databases for various third party libraries such as QT or glib. Then I could pull something in simply by typing set tags+= ~/.vim/somelib.tags
in vim.
I assume that everything related to the C++ stdlib and STL are in the /usr/include/c++
and that Boost is all in /usr/include/boost
. Unfortunately it seems that the standard C libs and system libs are just kind of dumped directly into /usr/include/
with a variety of other stuff.
How can I get a list of which files and directories belong to which libs? I'm on Ubuntu 8.04.
Upvotes: 4
Views: 1807
Reputation: 141998
apt-file is your friend on Ubuntu.
The following command will give you a list of all include files for Boost:
apt-file list -x "^libboost" | grep '/include/' | cut -f2 -d:
I'll leave the rest as an exercise for the reader!
Update: For completeness, call apt-file update
if you have never used apt-file
before.
Upvotes: 1