I installed boost using sudo apt-get install on Ubuntu. Later I did not have to give gcc the I flag alongwith the path to the boost libraries to use boost ! Nor did I do any pkg-config --cflags --libs of any sort. What is the mystery here ? How is gcc able to know where boost is and how is it linking to it automatically ?

1 Answer 1


Boost is a mostly header-only library, so there is no library to link with (most of the time).

As for the headers, Ubuntu place them in /usr/include/, which is one of the include paths GCC use by default. So any #include <boost/foreach.hpp> will work out of the box on Ubuntu.

  • additionally, the lib files are stored in the /usr/lib folder by default
    – Chani
    Commented Mar 3, 2013 at 17:10
  • 1
    @RitwikG: Yes, but you still need to link to them explicitly.
    – BatchyX
    Commented Mar 3, 2013 at 17:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .