2016年2月25日木曜日

Boostのビルド Visual Studio 2015

Boost(1.60.0)をVisual Studio 2015でビルドする方法
Boostは1.42.0以降からCmakeには非対応になったためb2でビルドする必要があります.

  1. Visual Studioコマンドプロンプトを開くか,普通のコマンドプロンプトを開いて64ビット版をビルドしたければ,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"を実行する.これはVisual Studio用の環境変数を設定するバッチファイルです.(b2.exeのビルド自体は32ビットなので64ビット版の環境設定を設定する必要ないです.)
  2. Boostのディレクトリに移動する.
  3. bootstrap.batを実行するとb2.exeという実行ファイルが生成されているはず
  4. 64ビット版の場合:b2.exe --toolset=msvc-14.0 --build-type=complete architecture=x86 address-model=64 -j 8 stage.32ビット版の場合:b2.exe --toolset=msvc-14.0 --build-type=complete stage.-jオプションはビルドの並列数のしていなので,マルチコアの場合は指定しておくと高速にビルドできます.最後のstageはビルドされたライブラリが出力されるディレクトリパスです.私はBoost.Pythonは使わないので"--without-python"を追加しています.
  5. 待っていると,そのうちビルドが完了する.
  6. ここからは必要があれば追加で実行する.追加するライブラリはZlibとbzip2というアーカイブ関係のライブラリ.b2.exe --toolset=msvc-14.0 --build-type=complete architecture=x86 address-model=64 stage --prefix=c:\Boost -sBZIP2_SOURCE="C:\bzip2-1.0.6" -sZLIB_SOURCE="C:\zlib-1.2.8".というようにZlibとbzip2のソースディレクトリのパスを指定して実行する.
  7. ビルドが完了するとBoostでzlibとbzip2が使えるようになる
  8. b2.exe --toolset=msvc-14.0 --build-type=complete architecture=x86 address-model=64 install --prefix=C:\Boost.ここで--prefixはインクルードファイル,ライブラリファイルがインストールされるディレクトリパスなので,個人の環境に合わせて変更する
--prefixで指定したディレクトリにインクルードディレクトリとライブラリディレクトリがコピーされていれば完了

一応,Visual Studio 2005,2008,2010,2012でも1番目のVisual Studioコマンドプロンプトの部分をそれぞれのバージョンに合わせて実行すればビルドできます.

以下のページを参考にしました

http://stackoverflow.com/questions/2629421/how-to-use-boost-in-visual-studio-2010