1.. Copyright David Abrahams 2006. Distributed under the Boost 2.. Software License, Version 1.0. (See accompanying 3.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 5Header-Only Libraries 6===================== 7 8The first thing many people want to know is, “how do I build 9Boost?” The good news is that often, there's nothing to build. 10 11.. admonition:: Nothing to Build? 12 13 Most Boost libraries are **header-only**: they consist *entirely 14 of header files* containing templates and inline functions, and 15 require no separately-compiled library binaries or special 16 treatment when linking. 17 18.. .. _separate: 19 20The only Boost libraries that *must* be built separately are: 21 22* Boost.Chrono_ 23* Boost.Context_ 24* Boost.Filesystem_ 25* Boost.GraphParallel_ 26* Boost.IOStreams_ 27* Boost.Locale_ 28* Boost.Log_ (see `build documentation`__) 29* Boost.MPI_ 30* Boost.ProgramOptions_ 31* Boost.Python_ (see the `Boost.Python build documentation`__ 32 before building and installing it) 33* Boost.Regex_ 34* Boost.Serialization_ 35* Boost.Thread_ 36* Boost.Timer_ 37* Boost.Wave_ 38 39__ ../../libs/log/doc/html/log/installation/config.html 40__ ../../libs/python/doc/html/building.html 41 42A few libraries have optional separately-compiled binaries: 43 44* Boost.Graph_ also has a binary component that is only needed if 45 you intend to `parse GraphViz files`__. 46 47* Boost.Math_ has binary components for the TR1 and C99 48 cmath functions. 49 50* Boost.Random_ has a binary component which is only needed if 51 you're using ``random_device``. 52 53* Boost.Test_ can be used in “header-only” or “separately compiled” 54 mode, although **separate compilation is recommended for serious 55 use**. 56 57* Boost.Exception_ provides non-intrusive implementation of 58 exception_ptr for 32-bit _MSC_VER==1310 and _MSC_VER==1400 59 which requires a separately-compiled binary. This is enabled by 60 #define BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR. 61 62* Boost.System_ is header-only since Boost 1.69. A stub library is 63 still built for compatibility, but linking to it is no longer 64 necessary. 65 66__ ../../libs/graph/doc/read_graphviz.html 67