在指定多线程时,BJam不使用'-mt'标记编译boost库

时间:2013-12-16 18:07:06

标签: boost bjam boost-bjam b2

我正在尝试为osx编译boost v1.55库,支持多线程。我的user-config.jam按如下方式配置编译器:

using clang : osx
: xcrun clang -arch i386 -arch x86_64 -stdlib=libstdc++ -mmacosx-version-min=10.9
;

我运行以构建库的命令如下:

./b2 -a -j8 toolset=clang-osx link=static threading=multi --with-thread

但是,生成的库具有以下格式:libboost_.a,而不是libboost_-mt.a

有没有人知道为什么省略'-mt'标签?

1 个答案:

答案 0 :(得分:15)

为了启用我请求的格式(将标记添加到库名称以指示编译库的配置),需要在构建选项中设置相应的 layout 参数。我的构建命令应该是这样的:

./b2 -a -j8 toolset=clang-osx link=static threading=multi --layout=tagged --with-thread