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 ?
Asked
Active
Viewed 1.2k times
15
Chani
- 418
- 2
- 7
- 16
1 Answers
12
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.
BatchyX
- 3,033
- 24
- 13
-
additionally, the lib files are stored in the /usr/lib folder by default – Chani Mar 03 '13 at 17:10
-
1@RitwikG: Yes, but you still need to link to them explicitly. – BatchyX Mar 03 '13 at 17:12