Подтвердить что ты не робот

Как я могу декодировать имя библиотеки boost?

Я попытался выяснить, что gd означает в имени библиотеки boost, и я нашел только двух других людей, которые ищут одно и то же.

Я полагаю, это должно быть место, где это четко документировано, и я хотел бы его найти.

  • mt - многозадачный, получить его с помощью bjam threading=multi
  • s - bjam runtime-link=static
  • g - использование отладочных версий стандартных и поддерживаемых библиотек. какой переключатель bjam
  • d - debug bjam variant=debug

Update

Как я могу контролировать, какие переключатели bjam управляют указанными выше вариантами? Фактически единственным, который я не смог идентифицировать, является g.

4b9b3361

Ответ 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, но есть замечательное изменение документации, чтобы добавить эти встроенные описания параметров в руководство по началу работы для более быстрого доступа.