Boost 构建系统未为输出库名称设置编译器版本标记

Boost build system not setting the compiler version tag for the output library names

这是一个愚蠢的问题,但我在 boost 文档中找不到任何内容,boost 构建系统没有将正确的编译器版本标签附加到它生成的库中。

这是我用来构建 boost 1.62.0 库的命令:

b2 --build-dir=build toolset=msvc-12 address-model=64 threading=single link=shared,static variant=debug,release -j 12 --layout=versioned --stagedir=msvc

我希望最终得到这样的库:

boost_date_time-vc120-mt-gd-1_62.dll

但是,我有这个:

boost_date_time-vc-mt-gd-1_62.dll

构建系统没有设置编译器版本标签,我只剩下 vc 而不是 vc120.

根据文档,--layout=versioned 选项应该让我得到我想要的布局:

#   --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.

有什么我遗漏的吗?为什么标签设置不正确?

谢谢。

在拔头发几个小时后,我发现了问题:

toolset=msvc-12

实际上应该是:

toolset=msvc-12.0

是的。而已。

构建系统很高兴地使用 msvc12 构建库,但是如果没有这个 '.0'.

就无法添加编译器版本