Top Page -> Archives -> Visual Studio 2013 で Boost 1.60.0 をコンパイル

Visual Studio 2013 で Boost 1.60.0 をコンパイル

0. Environment

Data: 2016.08.28
OS: Windows® 7 64bit Japanese

Library Version: Boost 1.60.0

1. Download

公式ページ Boost C++ Libraries - http://www.boost.org/ より
boost_1_60_0.7z (December 17th, 2015) をダウンロードする。

2. Build

Visula Studio にて Boost をコンパイルする方法。
いつも忘れて悩むのでメモしておく。

まずダウンロードした boost_1_60_0.7z を展開し
ディレクトリのトップにある bootstrap.bat を実行する。

この後は、生成された bjam.exe を用いてコンパイルを進めることになる。

Visual Studio にてコンパイルするには toolset=msvc というオプションを付ける。
複数の Visual Studio がインストールされている環境の場合は、
下記のように toolset=msvc-12.0 として明示的に Visual Studio 2013 (VC12) であることを明記する。

./bjam.exe toolset=msvc-12.0

また debug/release の両方を生成する場合は variant=debug,release を追加、
64ビットでコンパイルする場合は address-mode=64 を追加、
さらに、Static Library を生成する為に link=static runtime-link=static を追加する。
末尾の --stagedir=bin/vc12_x64 は生成物を格納する場所を指定している。

./bjam.exe toolset=msvc-12.0 variant=debug,release address-mode=64
link=static runtime-link=static --stagedir=bin/vc12_x64

Appendix A. Binary

コンパイルしてできたバイナリ libboost_xxx-vc120-xxx-1_60.lib を下記に置きます。ご参考まで。
なお、表中の Type は s: Static Link, mt: Mutli Thread, gd: Debug を意味します。

x64

TypeOptions
boost_1.60.0_vc12_x64_mt.ziptoolset=msvc-12.0 variant=release address-mode=64
boost_1.60.0_vc12_x64_mt-s.ziptoolset=msvc-12.0 variant=release address-mode=64
link=static runtime-link=static
boost_1.60.0_vc12_x64_mt-gd.ziptoolset=msvc-12.0 variant=debug address-mode=64
boost_1.60.0_vc12_x64_mt-sgd.ziptoolset=msvc-12.0 variant=debug address-mode=64
link=static runtime-link=static

Win32

TypeOptions
boost_1.60.0_vc12_Win32_mt.ziptoolset=msvc-12.0 variant=release address-mode=32
boost_1.60.0_vc12_Win32_mt-s.ziptoolset=msvc-12.0 variant=release address-mode=32
link=static runtime-link=static
boost_1.60.0_vc12_Win32_mt-gd.ziptoolset=msvc-12.0 variant=debug address-mode=32
boost_1.60.0_vc12_Win32_mt-sgd.ziptoolset=msvc-12.0 variant=debug address-mode=32
link=static runtime-link=static