Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Minimal boost.org includes to use just one sub-library

Tags:

c++

boost

I'd like to use the boost smart_ptr library. I don't want any of the other libraries because I'm trying to keep my project small.

When I added just the smart_ptr library I got complaints that the config.hpp header couldn't be found. I added that file then my compiler said it couldn't find the assert.hpp header. I gave up after that and just included the entire boost library.

Is there a minimal set of boost libraries that must be used if I want to use one of the sub-libraries (e.g., smart_ptr)?

The #include statement I use is:

#include <boost/smart_ptr/shared_ptr.hpp>

The directory structure I have looks like this

MyProject/
    main.cpp
    MyLib/
         . . . My library code is here. . .
    boost/
        boost/
            smart_ptr/
            smart_ptr.hpp
            . . . All other boost sub-libraries are also here. . .
like image 433
jlconlin Avatar asked Apr 09 '14 20:04

jlconlin


1 Answers

The utility bcp can be used to extract a boost header and its dependencies.

Extracting single libraries can be a bit complicated because the dependency structure is not documented and changes between releases. bcp is the way to go.

You can find it here.

like image 136
pmr Avatar answered Nov 14 '22 22:11

pmr