アプリ開発備忘録

PlayStationMobile、Android、UWPの開発備忘録

【Windows】BoostをビルドしてCMakeで使用する。

Boostのビルドと使用です。
今回は1.70.0をビルドしました。
CMakeのバージョンはCLionに入っている3.13.2を使用しました。
理解しているわけではなく、なんか動いた程度の記事です。
Boost C++ Libraries

ビルド

「bootstrap.bat」を実行します。
「b2.exe」を実行します。オプションは以下の通りです。
※スペースを改行にしてあります。
※ 「#」の行はコメントです。

オプション

# デフォルトでは14.2でビルドされていた。14.1を明示的に指定(理由は後述)
toolset=msvc-14.1

threading=multi
variant=debug,release
runtime-link=shared
link=shared

# 64bitなので
address-model=64

install

# 成果物の出力先
--build-dir=build/x64

# ビルドに使うスレッド数。自分のCPUは6コア12スレッドなのでMAXを指定した。
-j12

# その場に展開(いらないかなこれ)
--prefix=.\

CMake

systemとかfilesystemとか書かれている部分に使用するモジュールを書けばいいみたいです。

set(BOOST_ROOT "path/to/boost_1_70_0")
find_package(Boost 1.70.0 COMPONENTS system filesystem REQUIRED)
include_directories(path/to/boost_1_70_0/include/boost-1_70)

Could not find the following Boost libraries

boost_systemとかboost_filesystemが見つからないと怒られます。その場合は以下のオプションを追加してみます。

set(Boost_DEBUG ON)

「boost_system-vc141-mt-x64-1_70」とか似たような記述が見つかると思います。そのファイルが存在しているか確認します。
自分は「boost_system-vc142-mt-x64-1_70」というのがありました。
msvc14.2でビルドされたけど探してるのは14.1みたいなので上記ではmsvc14.1を使うように明示しました。