由boost构建参数困惑

时间:2015-04-08 21:26:36

标签: c++ boost boost-build

好的,我以前可能已经多次问过这个问题了,但我找不到合理的答案。

在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

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

我很困惑:

  1. linkruntime-link之间的区别是什么?
  2. threading=multi--with-thread之间的区别是什么?
  3. 如何构建多线程和非mt共享库,并尽可能提高速度优化?

1 个答案:

答案 0 :(得分:1)

大部分内容记录在:

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

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

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

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

./ bjam .... threading = single threading = multi ....