10

bjam を使用して、MinGW と Visual C++ 2010 Express の 2 つの異なるコンパイラを使用してブーストを構築したいと考えています。

bjam toolset=gcc,msvc variant=release link=static,shared threading=multi install

問題は、bjam を持っていないことです。Boostディレクトリに見つからず、別の場所からダウンロードしたものは間違ったバージョンでした.

Boost のコードからビルドできるはずですが、どうすればよいでしょうか? build.batディレクトリから起動する必要があると読みましたBOOST_ROOT/tools/jam/srcが、そのディレクトリは存在しません!

ありがとうございました!


  • プラットフォーム: Windows7
  • コンパイラ: MinGW および Visual C++ 2010 Express

アップデート:

次のコマンドで bjam を取得できました: bootstrap.bat gcc
次に、前のパラメーターで bjam を起動すると、MinGW のライブラリ (.dll と .a) のみが取得されます。
これは、Visual C++ 10 に関して表示されるエラー メッセージの抜粋です。

...
    call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi\plain_report_formatter.obj.rsp"
...failed compile-c-c++ bin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi\plain_report_formatter.obj...
...
...skipped <pbin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi>boost_unit_test_framework-vc100-mt-1_48.dll for lack of <pbin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi>compiler_log_formatter.obj...
...
common.mkdir bin.v2\libs\thread\build\msvc-10.0\release\threading-multi
common.mkdir bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32
compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj
\Microsoft was unexpected at this time.
...
    call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj.rsp"

...failed compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj...
compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\tss_dll.obj
\Microsoft was unexpected at this time.
...
...skipped <pC:\Boost\lib>boost_thread-vc100-mt-1_48.lib for lack of <pbin.v2\libs\thread\build\msvc-10.0\release\threading-multi>boost_thread-vc100-mt-1_48.lib
...

使用しようとして
bootstrap.bat vc100
います:「不明なツールセット: vc100」というエラーが表示されます

次のいずれかを使用:
bootstrap.bat vc10
または:
bootstrap.bat mingw
「\Microsoft は現時点では予想外でした。」

変更project-config.jamしても役に立ちませんでした。

それで、私は大きな一歩を踏み出しましたが、vc10はまだ機能していません...

4

3 に答える 3

5

Boostディレクトリにbootstrap.batがあります。それを実行します。

それは自動的にbjamを構築します(おそらくビジュアルc ++を使用して)。

于 2011-11-30T17:34:49.977 に答える
4

最近のバージョンでは、boost のディレクトリ構造が変更されていると思います。

bjam のソースは にありtools/build/v2/engineます。MinGW シェルを使用してそのディレクトリから実行build.sh mingwすると、bjam.exe と b2.exe がビルドされ、tools/build/v2/engine/ntx86. b2.exe をブースト ルート ディレクトリにコピーします。これで、Visual C++ ライブラリを .NET でビルドできるようになりますb2 toolset=msvc

それが役立つことを願っています。

于 2011-12-06T13:41:20.760 に答える
0

私の場合、jork のソリューションが機能します。

bjam.exeファイルを検索したところ、tools/build/src/engineディレクトリにあることがわかり、boost ルート ディレクトリにコピーしました。しかし、これはひどいと言わざるを得ません。コードベースの作成者が sth を隠そうとしているように感じました。そして、私のbjam.exeは正確に と同じサイズでb2.exeあることがわかりました。これは 404KB です。

この問題を解決したことを確認するために、後で戻ってきます。

于 2021-09-29T11:41:14.730 に答える