问题
I tried to find out that gd
means in boost library name and I only found two other people looking for the same thing.
I suppose it should be a place where this is clearly documented and I would like to find it.
mt
- multitheaded, get it withbjam threading=multi
s
-bjam runtime-link=static
g
- using debug versions of the standard and runtime support libraries. what bjam switch???d
- debugbjam variant=debug
Update
How do I control what bjam
switches controls the above variants? In fact the only one that I wasn't able to identify is the g
.
回答1:
See Boost getting started windows section 6.3 naming and section 6.1 on Unix naming
The ones that deal with -mt and d are
-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)
回答2:
From the Boost documentation at http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming, the convention is:
-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:
Key Use this library when: s linking statically to the C++ standard library and compiler runtime support libraries. g using debug versions of the standard and runtime support libraries. y using a special debug build of Python. d building a debug version of your code. p using the STLPort standard library rather than the default one supplied with your compiler. n using STLPort's deprecated “native iostreams” feature.
For example, if you build a debug version of your code for use with debug versions of the static runtime library and the STLPort standard library in “native iostreams” mode, the tag would be: -sgdpn. If none of the above apply, the ABI tag is ommitted.
回答3:
The basic set of built-in features, which is what you specify on the command line (feature=value), are described in the BBv2 documentation (see builtin features). I don't know if we already updated the getting started guide in the upcoming 1.43 release but there is an outstanding documentation change to add those built-in option descriptions to the getting started guide for quicker access.
来源:https://stackoverflow.com/questions/2715164/how-can-i-decode-the-boost-library-naming