【C++】Boostをソースからインストールする(必要なライブラリのみ)

Boostは比較的大きなライブラリ群です.

すべてのライブラリをインストールしても問題ありませんが,必要なライブラリを把握している場合,必要なものだけインストールすることで,ライブラリサイズを削減できます.

目次

インストール方法

デフォルトインストール

ライブラリ等を指定せずに,デフォルトでインストールする方法は下記のとおりです.


wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
tar xvf boost_1_80_0.tar.gz
cd boost_1_80_0
./bootstrap.sh --prefix=/path/to/install
./b2 install

必要なライブラリのみインストールする場合

必要なライブラリのみをインストールすることで,ライブラリサイズを削減することが出来ます.

--with-libraries=...オプションを指定することで,必要なライブラリのみをインストールすることができます

例として,mathライブラリ関連をインストールする方法を下記に記載します.


wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
tar xvf boost_1_80_0.tar.gz
cd boost_1_80_0
./bootstrap.sh --prefix=/path/to/install --with-libraries=math
./b2 install

指定可能なライブラリは下記コマンドで表示することができます.


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

また,主要なライブラリの説明は下記公式サイトに記載されています.

https://www.boost.org/doc/libs/

>> アルゴリズムイントロダクション

すべてのライブラリをインストールする場合

すべてのライブラリをインストールしたい場合,--with-libraries=allとします.

インストール方法は下記の通りです.


wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
tar xvf boost_1_80_0.tar.gz
cd boost_1_80_0
./bootstrap.sh --prefix=/path/to/install --with-libraries=all
./b2 install

その他オプション

static libraryとしてインストールする場合

デフォルトはshared library(.so)としてインストールされますが,static library(.a)としたい場合,link=staticオプションを追加します.


./bootstrap.sh link=static
よかったらシェアしてね!
目次