私はbjamを使用してMinGW用のBoost(SystemとFileSystemを使用しています)を構築しています:
bjam --toolset=gcc stage
ビルドは正常ですが、静的にリンクできるようにしたいので(最終製品用に単一のファイルが必要です)、次のことを試しました。
bjam --link=static --toolset=gcc stage
しかし、同じ出力が得られます。何か案は?
編集投稿後すぐに答えた2番目の質問:pでも、これは他の人のためにここに残しておきます。
bjam --build-type=complete --toolset=gcc stage
確かに動的と静的の両方を構築します。
リンクはbjamのオプションではなくプロパティだと思います。つまり、その前に-があってはならないということです。
これは静的ライブラリのみを構築するための私のコマンドラインです(ただし、Visual C++):
bjam install --toolset=msvc variant=release link=static threading=multi runtime-link=static
これを元のビルドコマンドにマッピングすると、次のようになります。
bjam --toolset=gcc link=static stage
多分:
bjam stage --toolset=gcc link=static
実行してみてください
bjam --help
bjamのプロパティとオプションの詳細については。
新しいブースト(2011年2月)では、bjamもビルドする必要があることに注意してください。何らかの理由で、現在ダウンロード可能なbjamが正常に機能しません。
だから最初に:
cd ...\boost_1_45_0\tools\build\v2\engine\src
build.bat mingw
PATHにbjamを追加する必要があります(cmdプロンプトだけでなく、コントロールパネルから)。次に
cd ...\boost_1_45_0\
bjam --build-type=complete --toolset=gcc stage
私のセットアップはVista、Boost 1.45、MinGW 4.5で、msysではなくcmd.exeからビルドしています。
http://code-slim-jim.blogspot.com/2011/02/boost-in-Vista-using-mingw-and-cmdexe.html
次のコマンドラインを使用して、静的にリンクされたバージョンと動的にリンクされたバージョンの両方のブーストをビルドします。
bjam "-sBUILD=debug release <runtime-link>static/dynamic <threading>multi" stage
これは、WindowsYMMVのVisualC++で実行されます。