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

Boost: Как bjam создает имя библиотеки?

Я искал файлы jam, как создается имя библиотеки. Пример: libboost_log-mgw46-mt-1_48.dll

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

Мое желание - загрузить libboost_log.dll. Я просто переименовал, но при выполнении программы он говорит, что он не может найти libboost_log-mgw46-mt-1_48.dll.

4b9b3361

Ответ 1

Boost Bjam имеет 3 разных макета для определения имен. Чтобы процитировать помощь, помещенную в файл Jamroot (я не знаю никакой лучшей онлайн-документации):

#   --layout=<layout>       Determines whether to choose library names
#                           and header locations such that multiple
#                           versions of Boost or multiple compilers can
#                           be used on the same system.
#
#                               versioned - Names of boost binaries
#                               include the Boost version number, name and
#                               version of the compiler and encoded build
#                               properties.  Boost headers are installed in a
#                               subdirectory of <HDRDIR> whose name contains
#                               the Boost version number.
#
#                               tagged -- Names of boost binaries include the
#                               encoded build properties such as variant and
#                               threading, but do not including compiler name
#                               and version, or Boost version. This option is
#                               useful if you build several variants of Boost,
#                               using the same compiler.
#
#                               system - Binaries names do not include the
#                               Boost version number or the name and version
#                               number of the compiler.  Boost headers are
#                               installed directly into <HDRDIR>.  This option
#                               is intended for system integrators who are
#                               building distribution packages.
#
#                           The default value is 'versioned' on Windows, and
#                           'system' on Unix.

Макет system предоставляет схему именования, которую вы хотите - простое базовое имя без какой-либо другой информации.

Имена для файлов вывода Boost в соответствии с этими макетами генерируются с помощью правила tag, определенного в файле boostcpp.jam.