On the Boost library documentation page, there are two categories named "Header Only Libraries" and "Automatic Linking".
I suppose "Header Only Libraries" means you don't have to link against Boost libraries in order to use them, and "Automatic Linking" means you have to link.
But when I use Boost.Timer
, I have to link a static or dynamic library named timer
(libboost_timer.a
and libboost_timer.so.1.48.0
and various soft links to these under Linux library path), which is apparently the exact library file of Boost.Timer
. I even need to link against Boost.System
and Boost.Chrono
, though it is understandable that the library itself uses some other libraries that need to be linked.
On the other side, Boost has clearly stated that Boost.Asio
belongs to "Automatic Linking", but there aren't any library files named anything like asio
.
So what does it actually mean to be a "header-only library" or "automatic linking"? Or is it purely a mistake?