对提升构建参数感到困惑

Confused by boost build parameters

好吧,我意识到这个问题可能已经被问过好几次了,但我找不到合理的答案。

在 linux 下使用 g++4.9,我像这样构建了 boost。我根据从其他互联网建议的文档中收集到的内容,随机选择了这些值:

sudo ./bjam -a -j8 variant=release link=static runtime-link=shared threading=multi install --build-type=complete --layout=tagged --with-thread stage

但我在 /usr/local/lib 中只看到 mt(因为我在名称中看到 -mt)、共享库和静态库。不,共享非线程库?

我很困惑:

  1. linkruntime-link 有什么区别?
  2. threading=multi--with-thread 有什么区别?

如何构建多线程和非 mt 共享库,并尽可能优化速度?

大部分记录在:

http://www.boost.org/build/doc/html/bbv2/overview/invocation.html

回答 1:link 表示您创建的库是静态的还是共享的,而 runtime-link 表示您的新库将使用共享的还是静态的本机 C 和 C++图书馆

回答 2:threading=multi 表示您的新库将利用系统的多线程能力。 --with-thread 意味着您构建 BOOST 线程库。构建 boost 时,您可以选择仅构建可用库的一个子集。

要同时构建多线程和非 mt,请使用选项

./bjam ....线程=单线程=多线程..

一个