29

bjam を使用して MinGW 用の Boost (私は System と FileSystem を使用しています) を構築しています:

bjam --toolset=gcc stage

そして、それはうまく構築されますが、静的にリンクできるようにしたいので(最終製品用に単一のファイルが必要です)、試しました:

bjam --link=static --toolset=gcc stage

しかし、同じ出力が得られます。何か案は?

2 番目の質問を続けて編集投稿した直後に回答しました :p 他の人のためにここに残しておくと思います。

bjam --build-type=complete --toolset=gcc stage

確かに動的と静的の両方を構築します。

4

4 に答える 4

41

リンクは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 のプロパティとオプションの詳細については、

于 2009-01-30T12:48:38.550 に答える
8

新しいブースト (2011 年 2 月) では、bjam もビルドする必要があることに注意してください.何らかの理由で、現在ダウンロード可能な bjam は正常に動作しません。

最初に:

cd ...\boost_1_45_0\tools\build\v2\engine\src

build.bat mingw

bjam を PATH に追加する必要があります (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

于 2011-02-16T15:06:55.463 に答える
0

次のコマンド ラインを使用して、静的にリンクされたバージョンと動的にリンクされたバージョンの両方のブーストをビルドします。

bjam  "-sBUILD=debug release <runtime-link>static/dynamic <threading>multi" stage

これは、Windows YMMV のビジュアル C++ で行われます。

于 2009-01-30T12:41:32.043 に答える