web-dev-qa-db-ja.com

ブーストライブラリの名前をデコードするにはどうすればよいですか?

Gdがブーストライブラリ名を意味することを確認しようとしましたが、同じものを探している他の2人だけが見つかりました。

これが明確に文書化されている場所である必要があると思います。それを見つけたいと思います。

  • mt-マルチヘッド、bjam threading=multiで取得
  • s-bjam runtime-link=static
  • g-標準およびランタイムサポートライブラリのデバッグバージョンを使用します。 どのbjamスイッチ???
  • d-デバッグbjam variant=debug

更新

上記のバリアントを制御するbjamスイッチを制御するにはどうすればよいですか?実際、私が識別できなかったのはgだけです。

55
sorin

Boost Getting Started Windows セクション6.3の命名と セクション6.1のUnix命名 を参照してください。

-mtとdを処理するものは

-mt Threading tag: indicates that the library was built with multithreading support enabled. Libraries built without multithreading support can be identified by the absence of `-mt`.  

-d ABI tag: encodes details that affect the library's interoperability with other compiled code. For each such feature, a single letter is added to the tag as listed in this table:
  Key   Use this library when (Boost.Build option)
  s     linking statically to the C++ standard library 
        and compiler runtime support libraries.
        (runtime-link=static)
  g     using debug versions of the standard and runtime support libraries. 
        (runtime-debugging=on)
  y     using a special debug build of Python.
        (python-debugging=on)
  d     building a debug version of your code.
        (variant=debug)
  p     using the STLPort standard library rather than
        the default one supplied with your compiler.
        (stdlib=stlport)
58
Mark

http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming のBoostドキュメントから、規約は次のとおりです。

-mtスレッドタグ:ライブラリがマルチスレッドサポートを有効にしてビルドされたことを示します。マルチスレッドのサポートなしでビルドされたライブラリは、-mtがないことで識別できます。

-dABIタグ:他のコンパイル済みコードとのライブラリの相互運用性に影響する詳細をエンコードします。そのような機能ごとに、1つの文字がタグに追加されます。

キー次の場合にこのライブラリを使用します。
 s C++標準ライブラリおよびコンパイラランタイムサポートライブラリに静的にリンク。
 g標準およびランタイムサポートライブラリのデバッグバージョンを使用。
 yは、Pythonの特別なデバッグビルドを使用します。
 dは、コードのデバッグバージョンをビルドします。 ] n STLPortの非推奨の「ネイティブiostream」機能を使用します。

たとえば、「ネイティブiostream」モードで静的ランタイムライブラリとSTLPort標準ライブラリのデバッグバージョンで使用するコードのデバッグバージョンをビルドする場合、タグは-sgdpnになります。上記のいずれにも該当しない場合、ABIタグは省略されます。

12
Riot

コマンドライン(feature = value)で指定する組み込み機能の基本セットは、BBv2のドキュメントで説明されています( builtin features を参照)。次回の1.43リリースでスタートガイドを既に更新したかどうかはわかりませんが、組み込みのオプションの説明をスタートガイドに追加してすばやくアクセスできるように、ドキュメントに大きな変更が加えられています。

0
GrafikRobot