RealPath:
WebPath:
2017/02/12 02:24 (JST) 更新
MinGW on MSYS >>

Boost導入(MinGW)

Contents

概要

Windows 環境で MinGW gcc および MSYS make による Boost のビルド等。

Boost パッケージ設置

入手したZIPを解凍して C:\boost_1_63_0 等に設置。

Boost ビルド (全モジュール)

※けっこう時間かかる。(20分くらい?)

dos
> cd C:\boost_1_63_0
> bootstrap
> b2 toolset=gcc stage

Boost ビルド (thread のみ)

b2 引数に --with-<モジュール名> オプションを付けると指定モジュールのみビルドされる。(このほうが短時間で終わるで決め打ちでやりたい場合はこれが楽)

dos
> cd C:\boost_1_63_0
> bootstrap
> b2 --with-thread toolset=gcc stage

Boost ビルド結果確認

C:\boost_1_63_0\stage\lib 配下に .a ファイルがたくさん生成されていれば OK。

dos
> ls -l C:\boost_1_63_0\stage\lib
....
-rw-r--r-- 1 kobake Administrators 2056306 Feb  2 05:46 libboost_unit_test_framework-mgw53-mt-1_63.a
-rw-r--r-- 1 kobake Administrators 4338046 Feb  2 05:48 libboost_wave-mgw53-mt-1_63.a
-rw-r--r-- 1 kobake Administrators  895494 Feb  2 05:48 libboost_wserialization-mgw53-mt-1_63.a

Boost ビルド詳細ログ

以下のように b2 引数に -d2 オプションを指定するとビルド詳細ログが確認できる。

dos
> b2 -d2 ....
....
"g++"  -ftemplate-depth-128 -O0 -fno-inline -Wall -pedantic -g -march=i686 -mthreads -m32 -D_CRT_SECURE_NO_WARNING -DBOOST_USE_WINDOWS_H -Wextra -Wno-long-long -DBOOST_ALL_NO_LIB=1 -DBOOST_All_STATIC_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1  -I"." -c -o "C:\_boost_build_gcc255\boost\bin.v2\libs\chrono\build\gcc-mingw-5.3.0\debug\link-static\threading-multi\thread_clock.o" "libs\chrono\src\thread_clock.cpp"
"c:/mingw/mingw32/bin/ar.exe"  rc "C:\_boost_build_gcc255\boost\bin.v2\libs\chrono\build\gcc-mingw-5.3.0\debug\link-static\threading-multi\libboost_chrono-mgw53-mt-d-1_63.a" "C:\_boost_build_gcc255\boost\bin.v2\libs\chrono\build\gcc-mingw-5.3.0\debug\link-static\threading-multi\chrono.o" "C:\_boost_build_gcc255\boost\bin.v2\libs\chrono\build\gcc-mingw-5.3.0\debug\link-static\threading-multi\thread_clock.o" "C:\_boost_build_gcc255\boost\bin.v2\libs\chrono\build\gcc-mingw-5.3.0\debug\link-static\threading-multi\process_cpu_clocks.o"
"c:/mingw/mingw32/bin/ranlib.exe" "C:\_boost_build_gcc255\boost\bin.v2\libs\chrono\build\gcc-mingw-5.3.0\debug\link-static\threading-multi\libboost_chrono-mgw53-mt-d-1_63.a"
....

Boost ビルド内容クリーン

dos
> b2 --clean toolset=gcc

b2 --clean だけでは不完全。ビルド時と同じオプションを指定すること。

環境変数設定

環境変数 BOOST_ROOTC:\boost_1_63_0 を設定しておく。

参考