So-net無料ブログ作成

boost1.59 を VS2013 でビルド [C++]

マルチスレッドDLL とかの設定がほかの lib と合わずエラーがでるので、boost を
ビルドしなおしました。

毎回面倒なので全種類作っておこうと思い、
- x86/x64
- static lib or dll
- static runtime link or dll runtime link

で 8 種類(debug/releaseあわせると16種類)いるのか!と思いましたが、
dll の boost に static の runtime は link できないみたい。
確かに別の dll や本体アプリで違う種類の runtime がリンクされてたら
インスタンスが2つ要るのでおかしなことになる。

リリース/デバッグビルドは "variant=debug,release"と書けば両方ビルドされるみたい。
あと "link=static,shared" もいけるとどこかにあったけど未確認。
使ったVSは2013 , boost1.59 です。

rem x86, static lib, static rt(MT/MTd) : xxx-vc120-mt-x_xx.lib, xxx-vc120-mt-gd-x_xx.lib
b2.exe --toolset=msvc-12.0 variant=debug,release link=static threading=multi runtime-link=static --stagedir=stage\x86\vc12\static\mt --without-python --without-mpi --build-type=complete address-model=32
rem x86, static lib, dynamic rt(MD/MDd) : xxxx-vc120-mt-x_xx.lib, xxxx-vc120-mt-gd-x_xx.lib
b2.exe --toolset=msvc-12.0 variant=debug,release link=static threading=multi runtime-link=shared --stagedir=stage\x86\vc12\static\md --without-python --without-mpi --build-type=complete address-model=32
rem x86, dynamic lib, static rt(MT/MTd) : この組み合わせはNG
b2.exe --toolset=msvc-12.0 variant=debug,release link=shared threading=multi runtime-link=static --stagedir=stage\x86\vc12\dynamic\mt --without-python --without-mpi --build-type=complete address-model=32
rem x86, dynamic lib, dynamic rt(MD/MDd) : xxx-vc120-mt-x_xx.{dll,lib}, xxx-vc120-mt-gd-x_xx.{dll,lib}
b2.exe --toolset=msvc-12.0 variant=debug,release link=shared threading=multi runtime-link=shared --stagedir=stage\x86\vc12\dynamic\md --without-python --without-mpi --build-type=complete address-model=32


rem x64, static lib, static rt(MT/MTd)
b2.exe --toolset=msvc-12.0 variant=debug,release link=static threading=multi runtime-link=static --stagedir=stage\x64\vc12\static\mt --without-python --without-mpi --build-type=complete address-model=64
rem x64, static lib, dynamic rt(MD/MDd)
b2.exe --toolset=msvc-12.0 variant=debug,release link=static threading=multi runtime-link=shared --stagedir=stage\x64\vc12\static\md --without-python --without-mpi --build-type=complete address-model=64
rem x64, dynamic lib, static rt(MT/MTd) : この組み合わせは NG
b2.exe --toolset=msvc-12.0 variant=debug,release link=shared threading=multi runtime-link=static --stagedir=stage\x64\vc12\dynamic\mt --without-python --without-mpi --build-type=complete address-model=64
rem x64, dynamic lib, dynamic rt(MD/MDd)
b2.exe --toolset=msvc-12.0 variant=debug,release link=shared threading=multi runtime-link=shared --stagedir=stage\x64\vc12\dynamic\md --without-python --without-mpi --build-type=complete address-model=64


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。