Boost官网地址:https://www.boost.org/
Boost源码下载地址:https://github.com/boostorg/boost/releases/tag/boost-1.89.0

Boost 是一系列高质量且经过同行评审的库的集合,旨在提高 C++ 开发的效率。
Boost 每年公开发布三次(四月、八月和十二月)。每次发布都包含对现有库的更新,以及所有通过严格审核流程的新库。目前,Boost 拥有超过 180 个库,涵盖了各种各样的编程任务。
在 C++ 项目中使用 Boost 库有很多优势,最主要的一点是,如果已经有库实现了你原本需要自己编写的功能,那么使用 Boost 可以避免重复造轮子。 此外:
Boost库在发布前都经过同行评审、精心设计并进行了广泛的测试。
Boost 并不与C++ 标准库竞争,而是通过提供令人兴奋的附加功能来补充标准库。标准库中的许多组件最初都是 Boost 库的组件。
Boost 是开源的,您可以将其用于任何项目中。它是免费的,包括商业项目。请参阅Boost 软件许可协议。
Boost 支持跨平台开发,只需编写一份源代码。Boost 支持 Windows、Linux 各版本、Apple OS X、iOS、Android 和 Xbox。
Boost库的设计理念是尽可能保持独立性,以便用户可以根据需要选择所需的库,而无需强制包含不必要的代码。如果某个库有依赖项,则在仅安装完整库集合的子集时,这些依赖项会自动加载。
这些库的特殊优势包括丰富的文档、易于安装和更新、许多库仅包含头文件,并且通常涵盖不太常见的用例。
通过模板元编程, Boost 库是构建其他库的良好平台。
Boost 可以与图形和游戏 SDK(如 OpenGL、Vulkan 和 DirectX)以及游戏开发引擎(如 Unreal Engine)结合使用。
通过用户社区,您可以轻松地向其他程序员提问并分享您的 Boost 使用经验。
开发者可以了解现有资源。某个库可能目前用不上,但了解它的存在有助于未来的规划和规划。
虽然错误很少见,但其他问题可以提交给库作者。
这些库实现了现代化的 C++ 编程方法,通常优先考虑性能、正确性、跨平台可移植性、效率和可重用性。Boost 提供的是构建模块,而不是高级应用程序框架。
Boost 使用大量模板,以提供最大的可移植性和可重用性,这可能会导致语法过于密集,需要一些时间来适应。
Boost库由一位或一个小型独立开发者团队编写。因此,不同库在可移植性、标准、文档、错误报告和其他方面可能存在一些细微差异。严格的审查流程有助于最大限度地减少这些差异。
官网上有两种针对源码的编译方式:B2和CMake,官网推荐使用B2。下面我们通过两种方式对Boost都编译一遍。
Tip:编译前需要根据系统的情况安装必要的依赖包。具体请参考官网上内容:

B2是Boost库官方支持的构建系统。Boost库是使用名为B2的自定义构建应用程序构建的。该应用程序本身是通过运行引导脚本构建的。

以下是使用B2配置、构建和安装 Boost 的常规步骤:
./bootstrap.sh --prefix=/opt/x86_64/boost-1_89_0./b2./b2 install
进入到源码目录,新建编译脚本build.sh,内容如下:
#!/usr/bin/shBUILD_TYPE=${1:-Release}INSTALL_PREFIX=${2:-/opt/x86_64/boost-1_89_0}rm -rf __buildmkdir __build && cd __buildcmake .. \ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIXcmake --build .cmake --build . --target install
对比两种编译方式,发现B2方式编译的库比cmake方式编译的库要多。具体原因还没详查,可能和编译配置有关。在日常开发中Boost可根据需求有选择添加,没必要全部调用。

END
作者:YuLinMuRong