MinGWでBoost1.47.0をビルドする

今回は一度やったことがあったはずである、MinGWを使用してのBoostのビルドなんですがどうにもやり方を完全に忘れてしまっていて、大分手間取ったのでここに備忘録として改めて残しておくとします。

ビルドを行う環境

ビルド手順

MSYSを起動し、Boostの置いてあるrootディレクトリに移動し、以下のコマンドを叩く。

start cmd

MSYSからcmdが起動するので、次は以下のコマンドを入力。

bootstrap.bat gcc

以上でrootディレクトリ内にgccでBoostがビルド出来るb2.exeというファイルが出来る。
あとは以下のサイトを参考にしつつ、オプションを正確に入力してb2を実行する。

Boostライブラリのビルド方法

b2 install --prefix=C:\lib toolset=gcc link=static,shared threading=multi var
iant=debug,release runtime-link=shared -j 8

オプションを確認する

"--prefix"はインストールディレクトリの設定。ここは自分の好きなように。
"link"オプションで静的リンク(.a)と動的リンク(.dll)の二種類を作ることを指定。
"threading"はマルチ一択なので"multi"で指定。シングルは上手くビルド出来ない?
"variant"はdebug用とrelease用と二種類あるが、基本はreleaseだけでもよさそう。
"runtime-link"はC++標準ライブラリとリンクするために必要?よくわかっていません。

あとは最後に"-j n"で並列ビルドするためのスレッド数を指定します。
実コア数の2倍くらい指定してもいいんじゃないかと思います。

実際に出来たライブラリを確認

ビルドが完了すると指定したディレクトリ内に"libboost_****-mgw45-mt-1_47.a"みたいなファイルが出来ていると思います。
あとはこれを必要に応じてコンパイル時にリンクするなりしてBoostのライブラリを堪能しましょう。