2006-12-22 22:52:22 +08:00
|
|
|
.. Copyright David Abrahams 2006. Distributed under the Boost
|
|
|
|
.. Software License, Version 1.0. (See accompanying
|
|
|
|
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
|
|
|
|
Header-Only Libraries
|
|
|
|
=====================
|
|
|
|
|
|
|
|
The first thing many people want to know is, “how do I build
|
|
|
|
Boost?” The good news is that often, there's nothing to build.
|
|
|
|
|
|
|
|
.. admonition:: Nothing to Build?
|
|
|
|
|
|
|
|
Most Boost libraries are **header-only**: they consist *entirely
|
|
|
|
of header files* containing templates and inline functions, and
|
|
|
|
require no separately-compiled library binaries or special
|
|
|
|
treatment when linking.
|
|
|
|
|
2007-04-28 09:35:31 +08:00
|
|
|
.. .. _separate:
|
2006-12-22 22:52:22 +08:00
|
|
|
|
|
|
|
The only Boost libraries that *must* be built separately are:
|
|
|
|
|
2013-03-08 06:23:21 +08:00
|
|
|
* Boost.Chrono_
|
|
|
|
* Boost.Context_
|
2006-12-22 22:52:22 +08:00
|
|
|
* Boost.Filesystem_
|
2010-06-24 01:39:53 +08:00
|
|
|
* Boost.GraphParallel_
|
2006-12-22 22:52:22 +08:00
|
|
|
* Boost.IOStreams_
|
2013-04-02 04:16:26 +08:00
|
|
|
* Boost.Locale_
|
2016-10-03 05:54:02 +08:00
|
|
|
* Boost.Log_ (see `build documentation`__)
|
2010-06-24 01:39:53 +08:00
|
|
|
* Boost.MPI_
|
2006-12-22 22:52:22 +08:00
|
|
|
* Boost.ProgramOptions_
|
2007-04-28 09:35:31 +08:00
|
|
|
* Boost.Python_ (see the `Boost.Python build documentation`__
|
|
|
|
before building and installing it)
|
2006-12-22 22:52:22 +08:00
|
|
|
* Boost.Regex_
|
|
|
|
* Boost.Serialization_
|
|
|
|
* Boost.Thread_
|
2013-03-08 06:23:21 +08:00
|
|
|
* Boost.Timer_
|
2006-12-22 22:52:22 +08:00
|
|
|
* Boost.Wave_
|
|
|
|
|
2016-10-03 05:54:02 +08:00
|
|
|
__ ../../libs/log/doc/html/log/installation/config.html
|
2017-04-05 06:25:39 +08:00
|
|
|
__ ../../libs/python/doc/html/building.html
|
2007-04-28 09:35:31 +08:00
|
|
|
|
2006-12-22 22:52:22 +08:00
|
|
|
A few libraries have optional separately-compiled binaries:
|
|
|
|
|
|
|
|
* Boost.Graph_ also has a binary component that is only needed if
|
|
|
|
you intend to `parse GraphViz files`__.
|
|
|
|
|
2010-06-24 01:39:53 +08:00
|
|
|
* Boost.Math_ has binary components for the TR1 and C99
|
|
|
|
cmath functions.
|
|
|
|
|
|
|
|
* Boost.Random_ has a binary component which is only needed if
|
|
|
|
you're using ``random_device``.
|
|
|
|
|
2006-12-22 22:52:22 +08:00
|
|
|
* Boost.Test_ can be used in “header-only” or “separately compiled”
|
|
|
|
mode, although **separate compilation is recommended for serious
|
|
|
|
use**.
|
|
|
|
|
2013-04-02 04:11:54 +08:00
|
|
|
* Boost.Exception_ provides non-intrusive implementation of
|
|
|
|
exception_ptr for 32-bit _MSC_VER==1310 and _MSC_VER==1400
|
|
|
|
which requires a separately-compiled binary. This is enabled by
|
|
|
|
#define BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR.
|
|
|
|
|
2019-05-07 08:09:20 +08:00
|
|
|
* Boost.System_ is header-only since Boost 1.69. A stub library is
|
|
|
|
still built for compatibility, but linking to it is no longer
|
|
|
|
necessary.
|
|
|
|
|
2006-12-22 22:52:22 +08:00
|
|
|
__ ../../libs/graph/doc/read_graphviz.html
|