Compiling Boost Library on Linux



πŸ‘†Click the blue text "Linux Armory" at the top, and select "Add to Favorites" in the upper right corner

Don’t miss out on great articles, see valuable content first

Compiling Boost Library on Linux

πŸ‘†FollowLinux Armory, to receive hardcore Linux learning materials and code

Compiling Boost Library on Linux

  • Date: 2025-11-27
  • Boost Version: 1.89.0
  • System: ubuntu20.04

Boost official website: https://www.boost.org/

Boost source code download link: https://github.com/boostorg/boost/releases/tag/boost-1.89.0

Compiling Boost Library on Linux

Introduction to Boost (Official Description)

Boost is a collection of high-quality, peer-reviewed libraries designed to enhance the efficiency of C++ development.

Boost is publicly released three times a year (April, August, and December). Each release includes updates to existing libraries and all new libraries that have passed a rigorous review process. Currently, Boost has over 180 libraries covering a wide range of programming tasks.

Using Boost libraries in C++ projects has many advantages, the most significant being that if a library already implements functionality you would otherwise need to write yourself, using Boost can avoid reinventing the wheel. Additionally:

  • Boost libraries are peer-reviewed, carefully designed, and extensively tested before release.

  • Boost does not compete with the C++ standard library but complements it by providing exciting additional features. Many components in the standard library were originally components of Boost libraries.

  • Boost is open-source, and you can use it in any project. It is free, including for commercial projects. Please refer to the Boost Software License.

  • Boost supports cross-platform development, requiring only one source code base. Boost supports various versions of Windows, Linux, Apple OS X, iOS, Android, and Xbox.

  • The design philosophy of Boost libraries is to maintain independence as much as possible, allowing users to choose the libraries they need without being forced to include unnecessary code. If a library has dependencies, those dependencies will automatically load when only a subset of the complete library collection is installed.

  • Special advantages of these libraries include rich documentation, ease of installation and updates, many libraries containing only header files, and often covering less common use cases.

  • Through template metaprogramming, Boost libraries provide a good platform for building other libraries.

  • Boost can be used with graphics and game SDKs (such as OpenGL, Vulkan, and DirectX) as well as game development engines (such as Unreal Engine).

  • Through the user community, you can easily ask other programmers questions and share your experiences using Boost.

  • Developers can learn about existing resources. A library may not be useful at the moment, but knowing of its existence helps with future planning.

  • While errors are rare, other issues can be reported to the library authors.

Considerations When Using Boost

These libraries implement modern C++ programming methods, often prioritizing performance, correctness, cross-platform portability, efficiency, and reusability. Boost provides building blocks rather than high-level application frameworks.

Boost uses a large number of templates to provide maximum portability and reusability, which can lead to dense syntax that may take some time to get used to.

Boost libraries are written by a single or small team of independent developers. Therefore, different libraries may have subtle differences in portability, standards, documentation, error reporting, and other aspects. A strict review process helps minimize these differences.

Compiling Boost

There are two methods for compiling from source on the official website: B2 and CMake, the official website recommends using B2. Below, we will compile Boost using both methods.

Tip: Before compiling, necessary dependency packages need to be installed based on the system’s situation. Please refer to the content on the official website for specifics:

Compiling Boost Library on Linux

B2 Compilation

B2 is the official build system supported by the Boost library. The Boost library is built using a custom build application called B2. This application itself is built by running a bootstrap script.

Compiling Boost Library on Linux

Here are the general steps to configure, build, and install Boost using B2:

./bootstrap.sh --prefix=/opt/x86_64/boost-1_89_0
./b2
./b2 install
Compiling Boost Library on Linux

CMake Compilation

Enter the source directory, create a build script build.sh, with the following content:

#!/usr/bin/sh

BUILD_TYPE=${1:-Release}
INSTALL_PREFIX=${2:-/opt/x86_64/boost-1_89_0}

rm -rf __build
mkdir __build && cd __build

cmake .. \
      -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
      -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX

cmake --build .
cmake --build . --target install
Compiling Boost Library on Linux

Comparing the two compilation methods, it is found that the libraries compiled using B2 are more than those compiled using CMake. The specific reason has not been thoroughly investigated, possibly related to compilation configurations. In daily development, Boost can be selectively added based on needs, and it is not necessary to call all of them.

↓↓ Recommended Articles ↓↓

πŸ‘‰ Detailed method for creating library files on Linux

πŸ‘‰ Summary of the most commonly used command usages in Linux (selected)

πŸ‘‰ Step-by-step guide to writing a Linux thread pool

πŸ‘‰ Summary of common methods in Linux shell programming

πŸ‘‰ Essence of C++ basic knowledge

↓↓ Recommended Collections ↓↓

πŸ‘‰ Collection of C Language Introductory Tutorials

πŸ‘‰ Collection of Common Software Tools

πŸ‘‰ Collection of Linux Knowledge

πŸ‘‰ Collection of Detailed Linux Libraries

πŸ‘‰ Collection of Linux Application Programming

Compiling Boost Library on Linux

❝

FollowLinux Armory, reply in the chat interfaceγ€Œ1024」 to get all Linux materials and code.

❞

Technical work requires step-by-step accumulation, building up to a breakthroughγ€ŒDo not regret wasting years, do not be ashamed of doing nothing」

Compiling Boost Library on Linux

Make progress every day, support the author, remember to like and share! Add the assistant’s WeChat to receive numerous classic open-source project source codes, read anytime, anywhere, and there is always one that can help you!

Support the author, please extend your little hand to wealth

Share, collectπŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡Like, see

Support quality content with action!

Leave a Comment