Boost库多数为头文件型,直接添加include路径即可使用;少部分需用b2编译生成二进制库并链接,CMake可自动管理依赖。

Boost 库不是靠“安装”就能直接用的,它大部分是头文件库,不需要编译安装;只有少数组件(如 boost::filesystem、boost::system、boost::regex 等)需要编译链接。正确使用 Boost 的关键是:分清哪些要编译、哪些直接包含头文件即可,再配好编译器路径和链接选项。
下载并解压 Boost 源码包
从官网 boost.org/download 下载最新版(如 boost_1_85_0.tar.gz 或 boost_1_85_0.7z),解压到本地目录(例如 /opt/boost_1_85_0 或 C:\boost_1_85_0)。解压后你会看到 boost/(头文件主目录)、libs/(示例与源码)、bootstrap.sh(Linux/macOS)或 bootstrap.bat(Windows)等。
头文件型库:直接包含使用(最常用)
Boost 中约 80% 的库(如 boost::optional、boost::variant、boost::algorithm::string、boost::container::vector)纯头文件实现,无需编译:
- 只需把解压路径下的
boost/目录添加为编译器的 include 路径(如-I/opt/boost_1_85_0) - 在代码中直接
#include即可使用 - 例如:
#include
int main() {
boost::optionalx = 42;
if (x) std::cout << *x << "\n";
}
需要编译的库:用 b2 构建二进制文件
对 filesystem、system、thread、regex 等依赖系统 API 或需生成 .so/.dll 的库,必须先构建:
立即学习“C++免费学习笔记(深入)”;
- 进入解压目录,运行初始化脚本:
Linux/macOS:./bootstrap.sh --prefix=/usr/local
Windows(MSVC):bootstrap.bat vc143(对应 VS 版本) - 执行构建命令(以静态链接、多线程、不带调试符号为例):
./b2 toolset=gcc link=static runtime-link=shared threading=multi stage
(Windows 可加address-model=64指定 64 位) - 生成的库文件默认在
stage/lib/目录下,如libboost_filesystem.a或boost_filesystem-vc143-mt-x64-1_85.lib - 编译时需指定库路径(
-L/path/to/boost/stage/lib)和链接名(-lboost_filesystem -lboost_system)
用 CMake 管理 Boost(推荐项目级使用)
现代 C++ 项目建议用 CMake 自动查找和链接 Boost:
- 在
CMakeLists.txt中写:find_package(Boost 1.70 REQUIRED COMPONENTS filesystem system)
add_executable(myapp main.cpp)
target_link_libraries(myapp PRIVATE Boost::filesystem Boost::system) - 确保环境变量
BOOST_ROOT指向你的 Boost 解压路径,或通过-DBOOST_ROOT=/path/to/boost传给 CMake - CMake 会自动处理头文件路径和链接逻辑,省去手动配置麻烦










