【C++】Boostをソースからインストールする(+軽量インストール方法)

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

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

この記事では、一般的なBoostのインストール方法と必要なライブラリのみの軽量インストール方法を記載します。

目次

インストール方法

デフォルトインストール

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

  • Linux系

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
  • Windows (PowerShell)

Invoke-WebRequest -Uri https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.zip -OutFile boost_1_80_0.zip
Expand-Archive -Path boost_1_80_0.zip -DestinationPath .\boost_1_80_0
cd .\boost_1_80_0\boost_1_80_0
./bootstrap.bat
./b2 link=shared variant=release address-model=64 install --prefix=C:\path\to\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

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
./b2 install --with-math --prefix=C:\path\to\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オプションを追加します。


./b2 link=static

Windowsの場合はデフォルトがstatic(.lib)のため、.dllにしたい場合は下記のようになります。


./b2 link=shared
よかったらシェアしてね!
目次