简体   繁体   中英

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

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 (eg, 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. . .

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 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM