b2 vs bjam用于构建Boost库

时间:2015-07-10 22:21:59

标签: c++ boost dll static-libraries import-libraries

我使用b2.exebjam.exe为VS2013,64位架构构建了Boost。根据Boost documentationb2必须使用bjam。我注意到的差异是:

  1. b2中.lib文件的大小与相应bjam文件的大小不同。
  2. 使用bjam提供了动态.lib库(没有-s标记,如上所述here),但它没有提供链接到的.dll文件(那么现在该做什么?< / strong>),而使用b2同时提供静态和动态库以及.dll文件。但是使用b2的问题是,它提供了两个动态.lib文件 - 一个以boost_xxxx.lib开头,另一个以libboost_xxxx.lib开头,两者都有不同的大小。 为什么?
  3. 我还使用构建选项--build-dir提到了不同的构建目录,但该目录的用途是什么?它由.obj,.rsp以及相应的.dll和.lib文件组成。该目录可以删除吗?

    以下是我用来构建Boost的命令:

    1. b2:

      b2 toolset=msvc-12.0 --build-type=complete architecture=x86 address-model=32 install --build-dir=<build-dir> stage --stagedir=<stage-dir> -j2
      
    2. bjam:

      bjam stage --stagedir=<stage-dir>
      

1 个答案:

答案 0 :(得分:0)

b2和bjam是相同的文件,但名称不同。不同的结果是用不同的参数调用它们的结果。

关于首选名称:呼叫./b2 --help./bjam --help都产生名称b2