What Boost libraries are for header only?

What Boost libraries are for header only? And which libraries require assembly?

Is there such a list?

+44
c ++ boost
Nov 28 '12 at 11:32
source share
3 answers

The list of libraries that need to be created is here for Unix-like systems and here for Windows.

For the current version 1.58, both options:

  • Boost.chrono
  • Boost.context
  • Boost.filesystem
  • Boost.GraphParallel
  • Boost.iostreams
  • Boost.locale
  • Boost.mpi
  • Boost.ProgramOptions
  • Boost.Python
  • Boost.regex library
  • Boost.Serialization
  • Boost.Signals
  • Boost system
  • Boost.thread
  • Boost.timer
  • Boost.wave

Several libraries have additional compiled binaries:

  • Boost.DateTime
  • Boost.graph
  • Boost.math
  • Boost.random
  • Boost.test
  • Boost.Exception

Please note that some libraries may depend on them (for example, Asio depends on System, as indicated in the comments), so you still need to create something, even if the desired library is not listed.

+48
Nov 28 '12 at 11:36
source share

I think the above list is not accurate, although this is from the official documentation:

https://svn.boost.org/trac10/ticket/13222

You can request a list of libraries you need to compile:

> ./bootstrap.sh --show-libraries The Boost libraries requiring separate building and installation are: atomic chrono container context coroutine date_time exception fiber filesystem graph graph_parallel iostreams locale log math metaparse mpi program_options python random regex serialization signals stacktrace system test thread timer type_erasure wave 

Note. On Windows, you must call bootstrap.bat to build b2, and then call b2 --show-libraries .

+4
Sep 21 '17 at 13:13
source share

In fact, even ./bootstrap.sh --show-libraries also somewhat incorrect, because some libraries depend on the libraries listed.

Using the Boost BCP tool, you can get a list of libraries for headers only by running this tool in each library and deleting those that link any binary files. This is what was done in the article How to Build a Headline Only .

For Boost 1.67.0, the resulting list was:

 accumulators align any array assert assign bind callable_traits circular_buffer compatibility concept_check config container_hash conversion convert core crc detail disjoint_sets dynamic_bitset endian foreach format function functional function_types fusion geometry gil hana heap hof icl integer interprocess intrusive io iterator lambda lexical_cast locale local_function logic metaparse move mp11 mpl msm multi_array multi_index optional phoenix poly_collection polygon predef preprocessor property_tree proto ptr_container qvm ratio rational scope_exit signals2 smart_ptr sort static_assert throw_exception tokenizer tti tuple type_index typeof type_traits units unordered utility uuid variant vmd winapi xpressive 
+1
Jun 09 '18 at 17:13
source share



All Articles