Boost総合スレ part7

このエントリーをはてなブックマークに追加
540デフォルトの名無しさん
私もエラーメッセージの意味するところ自体は正しいと思いますし、link=shared runtime-link=staticは
1.38以前からビルドは不可能でした。ただ、1.39のbjamビルドでは
link=shared runtime-link=staticではなく
link=static runtime-link=staticや--build-type=completeでも
error: link=shared together with runtime-link=static is not allowed
と表示されてしまい、
link=static runtime-link=static --with-python(or mpi)としたり
--build-type=complete --with-python(or mpi)とすると
ビルドが通ってしまう点がよく分かりません。
1.38と1.39のdebugビルド時のbjamの動作の違いは
Boost 1.38
static static: libboost_...-vc90-mt-sgd-1_38.lib
static shared: libboost_...-vc90-mt-gd-1_38.lib
shared static: error: link=shared together with runtime-link=static is not allowed
shared shared: boost_...-vc90-mt-gd-1_38.lib + boost_...-vc90-mt-gd-1_38.dll

(続く)
541デフォルトの名無しさん:2009/05/10(日) 13:15:30
(続き)
Boost 1.39
static static: error: link=shared together with runtime-link=static is not allowed
(--with-python(or mpi)時のみlibboost_...-vc90-mt-sgd-1_39.lib)
static shared: libboost_...-vc90-mt-gd-1_39.lib
shared static: error: link=shared together with runtime-link=static is not allowed
shared shared: boost_...-vc90-mt-gd-1_39.lib + boost_...-vc90-mt-gd-1_39.dll
です。そのCRTスタティックリンク非推奨の件でstatic staticが封印されたのかとも思いましたが、
CMakeでVC用のプロジェクトファイルを作成してビルドするとmt-s(release static static)やmt-sgd(debug static static)が作成されましたので、
--build-type=completeがエラー扱いになってしまう事と併せるとbjam(の設定ファイル)の不具合ではないかと考えています。

上記とはあまり関係ありませんが、libs_for_build_boost.rarをアップデートしました。ttp://booster.x0.to/
zlibに似た何かをzlibと勘違いしてビルドしてしまっておりましたので正しい物に差し替えました。申し訳ございません。
これで、ビルド不可能なBoostライブラリはboost_graph_parallelのlibとdllのみ(mpi絡みのエラー)となります。
boost_graph_parallelはログを見ると32bit版がリンクエラーなのに対して
64bit版ではコンパイルエラーで引っ掛かっているのでソースが怪しい気がしなくもないですが・・・。
只、readmeやhow_to_build.txt内のbjamビルドコマンドについては上記の件もあり私自身混乱気味ですので、参考程度にして下さい。