を使用してBoostバイナリライブラリを構築する場合、オプションに特定の値を使用することにより、特定のコンパイラバージョンを指定せずbjam
に、使用するコンパイラを指定できます。例えば:--toolset=
bjam --with-serialization --toolset=msvc
ツールセットの値 msvc
は、bjam
システムでMicrosoft Visual C ++のバージョンを検索し、それを使用してBoost.Serializationライブラリのさまざまなバリアントを構築するように指示します。結果のライブラリには、実際に使用されたツールセットを示すタグが含まれます。たとえば、上記のコマンドは次のようなファイルを作成します。
libboost_serialization-vc100-mt-s-1_44.lib
libboost_serialization-vc100-mt-sgd-1_44.lib
...
ここvc100
で、ファイル名の文字列は、 Microsoft Visual C ++ 2010コンパイラバージョンが見つかり、ライブラリの構築に使用されたことを示すツールセットタグです。[Boostライブラリファイルの命名規則の詳細については、こちらをご覧ください。]
オプションに他の特定の値を使用して、コンパイラの特定のバージョンを指定することも--toolset=
できます。例えば:
bjam --with-serialization --toolset=msvc-9.0
bjam
システムに複数のコンパイラがある場合でも、特にMicrosoft Visual C++2008を使用する必要があることを示しています。結果のライブラリには、 Microsoft Visual C++2008を使用してライブラリを構築したvc90
ことを示すタグ文字列が含まれています。
Boostのドキュメントは、Macの新しいコンパイラに関しては少し古くなっているようです(たとえば、GCC、LLVM-GCC、LLVMをどのように区別しますか?)
私の質問は、 Mac上のXcode3およびXcode4の特定のコンパイラバージョン(のような一般的なコンパイラ名の値ではないbjam --toolset=
)の他の値とそれに対応するタグのいくつかは何ですか?これらはどこかに文書化されていますか?一部のバージョンでBoostライブラリを構築することが、Boostでまだサポートされていない場合でも、およびタグの値はまだ指定されていますか?darwin
toolset
???
この表のを置き換えるのを手伝ってください:
TOOL AND VERSION --toolset= TAG
======================================================
Microsoft Visual C++ 2008 msvc-9.0 vc90
Microsoft Visual C++ 2010 msvc-10.0 vc100
Apple (1) GCC 4.0 (2) ??? xgcc40
Apple GCC 4.2 ??? xgcc42
Apple LLVM GCC 4.2 ??? ???
Apple LLVM compiler 1.5 (2) ??? ???
Apple LLVM compiler 2.0 (3) ??? ???
(1)Appleは、Apple固有の拡張機能と動作を追加するために、独自のバージョンのGCCおよびLLVMコンパイラを作成しています。
(2)Xcode3でのみ使用できます。
(3)Xcode4でのみ使用できます。