Как я могу декодировать имя библиотеки boost?
Я попытался выяснить, что gd
означает в имени библиотеки boost, и я нашел только двух других людей, которые ищут одно и то же.
Я полагаю, это должно быть место, где это четко документировано, и я хотел бы его найти.
-
mt
- многозадачный, получить его с помощью bjam threading=multi
-
s
- bjam runtime-link=static
-
g
- использование отладочных версий стандартных и поддерживаемых библиотек. какой переключатель bjam
-
d
- debug bjam variant=debug
Update
Как я могу контролировать, какие переключатели bjam
управляют указанными выше вариантами? Фактически единственным, который я не смог идентифицировать, является g
.
Ответы
Ответ 1
Смотрите Увеличьте начальные окна в разделе 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 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
В документации Boost по http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming соглашение:
-mt Тематический тег: указывает, что библиотека была построена с поддержкой многопоточности. Библиотеки, построенные без поддержки многопоточности, могут быть идентифицированы отсутствием -mt.
-d ABI 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 deprecated "native iostreams" feature.
Например, если вы создаете отладочную версию своего кода для использования с версиями отладки статической библиотеки времени выполнения и стандартной библиотеки STLPort в режиме "native iostreams", тегом будет: -sgdpn. Если ни одно из вышеприведенных действий не применяется, тег ABI не указывается.
Ответ 3
Базовый набор встроенных функций, который вы указываете в командной строке (feature = value), описан в документации BBv2 (см. встроенные функции). Я не знаю, обновили ли мы руководство по началу работы в предстоящей версии 1.43, но есть замечательное изменение документации, чтобы добавить эти встроенные описания параметров в руководство по началу работы для более быстрого доступа.