web-dev-qa-db-ja.com

MinGWでBoost 1.55をビルドするにはどうすればよいですか?

Boost 1.55とMinGWをダウンロードしました。

コンソールは、私にはコマンドがないと答えます。 2つのパスをバインドしてGCCコンパイラをアクティブにする方法を理解できません。

追伸:Microsoftのコンパイラでブーストをビルドすると、エラー3861で約8つの間違いが発生します!!

どうすれば構築できますか?

21
Warezovvv

まず、mingwのbinディレクトリがPATHであるため、gccおよびg++は、コマンドプロンプトから呼び出し可能です。その後、ファイルを抽出したBoostのルートディレクトリに移動します。

その後にbootstrap + b2.exeをビルドします。たとえば、boostの正規表現部分のみをコンパイルするとします。次のコマンドでトリックを実行できます。

bootstrap gcc
b2 toolset=gcc regex

次を使用できます。

b2 --show-libraries

モジュールのリストを取得するには、個別にビルドできます。もちろん、次のことだけですべてをビルドできます。

b2 toolset=gcc

利用可能なオプションの詳細なリストについては、 Boost Invocation をご覧ください。

36
greatwolf

Greatwolfの答えは私にはうまくいきませんでした。

まず、MinGW\binはパス上にあります

tools\build\v2ブーストフォルダーのディレクトリ。たとえば、私の場合はC:\Boost\boost_1_55_0\tools\build\v2。次に実行する

bootstrap mingw

その後、ルートBoostディレクトリに切り替えます(b2は現在のディレクトリに基づいてビルドするものを検出するため、この部分は重要です)

ここで、ファイルシステムを構築したい場合は、

tools\build\v2\b2 toolset=gcc --build-type=complete stage --with-filesystem

これにより、libboost_filesystem-mgw48-d-1_55.dllなどstage\lib。すべてを構築する場合は、--with-filesystemパート。

20
Antimony

TDM-GCC の一部としてMinGW/GCCをインストールした場合、起動できる「MinGWコマンドプロンプト」が表示されます。これにより、コマンドプロンプトウィンドウが読み込まれ、GCCコンパイラがそのウィンドウのPATHに配置されます。 (Visual Studioと共にインストールされる「開発者コマンドプロンプト」に似ています。)

"MinGW distro" も付属していると思います。

統合されたコマンドプロンプトがある場合は、次のことが簡単にできます。

  • 「MinGWコマンドプロンプト」を起動します
  • Boostフォルダーに移動します(例:C:/ Boost)
  • bootstrap gccを実行します
  • b2 toolset=gcc(または必要なb2コマンド)を実行します

誰かがツールセットを明示的に設定していない例から作業している場合は、toolset=gccを自分で追加する必要があります。 toolsetは、optionまたはcommandの位置ではなく、propertyの位置に配置する必要があることに注意してください。 b2 --helpから:

b2 [options] [properties] [install|stage]

したがって、誰かが--prefixオプションを指定してinstallコマンドを呼び出すコマンドを書いている場合、次のように記述します。

b2 --prefix=C:\boost-build install

そして、次のように書き直します:

b2 --prefix=C:\boost-build toolset=gcc install

詳細については、b2 --helpを参照してください。

4
david.libremone

Antimonyの指示に従ってビルドできました。しかし、私は最初にこのエラーを受け取りました:

Bootstrapping the build engine
\Windows was unexpected at this time.

このエラーは、PATH変数をクリアし、MinGWフォルダーのみを入れることで解決しました。

set PATH=C:\MinGW\bin

それからアンチモンの指示は私のために仕事をしました。ありがとう!!

役に立つかもしれない他の2つの小さなこと。 MinGWのBOOSTは、MSYSシェルからではなく、Windowsシェルからビルドする必要があります。また、バージョン1.57では、bootstrap.batスクリプトはtools\build\v2ではなく、直接tools\buildにあります。

4
Miguel Muñoz