b2 vs bjam用于构建Boost库

Ani*_*uth 7 c++ dll boost static-libraries import-libraries

我同时使用b2.exe和构建了Boost for VS2013(64位架构)bjam.exe。根据Boost 文档b2必须使用过bjam。我注意到的差异是:

  1. 来自b2的.lib文件的大小不同于相应的bjam文件的大小。
  2. 使用bjam提供动态的.lib库(这里没有提到-s标签),但是它不提供链接到的.dll文件(所以现在该怎么办?),而使用b2则提供静态库和动态库以及.dll文件。但是使用b2的问题是,它提供了两个动态.lib文件-一个以boost_xxxx.lib开头,另一个以libboost_xxxx.lib开头,并且两个文件的大小都不同。这是为什么?

我还提到了使用build选项的其他构建目录--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
    
    Run Code Online (Sandbox Code Playgroud)
  2. bjam:

    bjam stage --stagedir=<stage-dir>
    
    Run Code Online (Sandbox Code Playgroud)

yeo*_*man 7

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

关于首选名称:调用./b2 --help./bjam --help都产生 name b2