Как я могу расшифровать имя библиотеки буста? - PullRequest
52 голосов
/ 26 апреля 2010

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

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

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

Обновление

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

Ответы [ 3 ]

57 голосов
/ 26 апреля 2010

См. Поддержка начала работы 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)
12 голосов
/ 22 февраля 2013

Из документации Boost на http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming, условное обозначение:

-mt Потоковый тег: указывает на то, что библиотека была построена с включенной поддержкой многопоточности.Библиотеки, созданные без поддержки многопоточности, можно определить по отсутствию -mt.

-d тег ABI: кодирует детали, которые влияют на совместимость библиотеки с другим скомпилированным кодом.Для каждой такой функции в тег добавляется одна буква:

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.

Например, если вы создаете отладочную версию своего кода для использования с отладочными версиями статической библиотеки времени выполнения и стандартной библиотеки STLPortв режиме «родного iostreams» тег будет: -sgdpn.Если ничего из вышеперечисленного не применимо, тег ABI опускается.

0 голосов
/ 27 апреля 2010

Базовый набор встроенных функций, который вы указываете в командной строке (функция = значение), описан в документации BBv2 (см. встроенные функции ). Я не знаю, обновили ли мы уже руководство по началу работы в следующем выпуске 1.43, но в документацию внесены значительные изменения, чтобы добавить описания встроенных опций в руководство по началу работы для более быстрого доступа.

...