2020年2月24日月曜日

boost ビルド

以下にboost ビルド手順を記載する。
バージョンは、V1.72.0になる。

[前準備]
1.VC++ 2019をインストールする

2.最新のboost ソースコードをダウンロードする。
https://www.boost.org/users/download/#live

[ビルド手順]
1.ダウンロードしたソースコードを解凍する

2.解凍したディレクトリに移動する
> cd (解凍したディレクトリ)

3.bootstrap.batを実行する
> bootstrap.sh

4.b2.exe,bjam.exeが生成されているか確認する

5.boostのビルドを実行する。
以下は、ビルド時のオプションパラメータのサンプル。

 // MD ランタイム用ライブラリをビルド
>b2.exe --toolset=msvc-14.2 link=static runtime-link=shared release stage

// MDd ランタイム用ライブラリをビルド
>b2.exe --toolset=msvc-14.2 link=static runtime-link=shared debug stage

// MT ランタイム用ライブラリをビルド
>b2.exe --toolset=msvc-14.2 link=static runtime-link=static release stage

// MTd ランタイム用ライブラリをビルド
>b2.exe --toolset=msvc-14.2 link=static runtime-link=static debug stage

// MD ランタイム用の特定ライブラリ(例system)をビルド
b2.exe --toolset=msvc-14.2 link=static runtime-link=static --with-system

[オプションパラメータの知識]
・show
コンパイル対象のboostライブラリの一覧を表示する。後述のwithにて指定するboostライブラリの名前の検索に使う。

// コンパイル対象のboostライブラリの一覧を表示
b2 --show-libraries

・toolset
boostビルド時に指定するVC++のコンパイルバージョンを指定ができる。
--toolset=msvc-14.2 : VS2019用,VS2005の場合はmsvc-8.0,VS2008の場合はmsvc-9.0

例:Visual Studio2019の指定。
b2.exe --toolset=msvc-xx.x link=static runtime-link=static

↓[xx.x]を14.2に置き換える。14.2は、Visual Studio2019のバージョン指す。

b2.exe --toolset=msvc-14.2 link=static runtime-link=static

・link
static or shared。
生成物の種類の指定。動的リンク(DLLファイル)。それとも静的リンク(libファイル)

 // 動的リンク(DLLファイル)
>b2.exe --toolset=msvc-14.2 link=static runtime-link=static release stage

// 静的リンク(libファイル)
>b2.exe --toolset=msvc-14.2 link=shared runtime-link=static debug stage

・runtime-link
static or shared。
VC++ の標準ライブラリを動的リンク(DLLファイル)。それとも静的リンク(libファイル)するかどうかを指定。
VC++ プロジェクトで /MT を指定する場合には runtime-link=static,
VC++ プロジェクトで /MD を指定する場合には runtime-link=shared にしないとライブラリのリンクで問題が発生するぽっい。
→MT, MTdそれとも、MD, MDd。

・with
ビルドするboostライブラリの指定ができる

// MD ランタイム用の特定ライブラリ(例system)をビルド
b2.exe --toolset=msvc-14.2 link=static runtime-link=static --with-system

[参考サイト]
以下、boostビルドに参考にさせていただいたサイト。感謝。

Boostライブラリのビルド方法
https://boostjp.github.io/howtobuild.html

--toolset=msvc-10.0 : VS2010用,VS2005の場合はmsvc-8.0,VS2008の場合はmsvc-9.0
http://www.slis.tsukuba.ac.jp/~fujisawa.makoto.fu/cgi-bin/wiki/index.php?build_boost

Boostのヘッダオンリー or ビルドが必要なライブラリ
https://boostjp.github.io/tips/build_link.html

b2.exe のオプションについて
http://krustf.hateblo.jp/entry/20100804/1280873428
http://umezawa.dyndns.info/wordpress/?p=5823
http://www.kmonos.net/pub/BoostBook/1st/vctk.html

boost::asioでhttps-post
http://eiki.hatenablog.jp/entry/20130617/1371436691

Visutal Studio で Boost C++ Libraries をビルドする
https://clown.cube-soft.jp/entry/20110323/1300886446

boostを真面目にVisualC++2010でコンパイルしてみた
http://krustf.hateblo.jp/entry/20100804/1280873428







0 件のコメント: