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