Boost是非官方但被广泛视为“准标准库”的C++库,头文件库可直接使用,filesystem等需编译二进制库;Windows用bootstrap.bat生成b2.exe并b2编译,Linux用bootstrap.sh生成b2后编译;项目中需正确设置-I头文件路径及-L/-l或/clink库路径与名称。

Boost 不是官方标准库,但被广泛视为“准标准库”,很多特性后来被 C++11/14/17 吸收。它无需编译安装也能用(头文件-only 库),但部分组件(如 filesystem、system、regex)需编译二进制库。下面以主流方式说明如何在 Windows(MSVC)和 Linux(GCC)下正确配置。
访问官网 boost.org,下载最新版源码压缩包(如 boost_1_85_0.7z)。解压到无中文、无空格路径,例如:
C:\boost_1_85_0
/opt/boost_1_85_0
解压后目录里有 boost/(头文件主目录)、libs/(示例与文档)、bootstrap.bat(Windows)或 ./bootstrap.sh(Linux)。
Boost 使用自研构建系统 b2(旧称 bjam),必须先生成它:
立即学习“C++免费学习笔记(深入)”;
cd C:\boost_1_85_0<br>bootstrap.bat vc143
cd /opt/boost_1_85_0<br>./bootstrap.sh --prefix=/usr/local
成功后生成 b2(Linux/macOS)或 b2.exe(Windows),位于 Boost 根目录。
不是所有 Boost 库都要编译。头文件库(如 shared_ptr、optional、range)直接 #include <boost></boost> 即可。以下库需链接预编译版本:
boost_filesystem、boost_system(路径操作、错误码)boost_regex(正则表达式)boost_thread、boost_chrono(多线程与时间)编译命令示例(Windows):
b2 toolset=msvc-14.3 link=static runtime-link=shared address-model=64 -j8 --build-type=complete stage
说明:
toolset:指定编译器(vs2022 对应 msvc-14.3)
link=static:生成静态库(.lib)
runtime-link=shared:动态链接 MSVCRT(避免运行时冲突)
address-model=64:生成 64 位库(默认可能为 32 位)
stage:库输出到 stage/lib/ 目录
Linux 类似(用 gcc toolset,生成 .a/.so)。
头文件库(最常用):
只需在代码中包含,并确保编译器能找到 boost/ 目录:
#include <boost/optional.hpp><br>boost::optional<int> x = 42;
编译时加头文件路径:g++ -I /opt/boost_1_85_0 main.cppcl /I"C:\boost_1_85_0" main.cpp
二进制库(如 filesystem):
除头文件路径外,还需链接库文件:
g++ -I/opt/boost_1_85_0 main.cpp -L/opt/boost_1_85_0/stage/lib -lboost_filesystem -lboost_system
cl /I"C:\boost_1_85_0" main.cpp /link "C:\boost_1_85_0\stage\lib\boost_filesystem-vc143-mt-x64-1_85.lib" "C:\boost_1_85_0\stage\lib\boost_system-vc143-mt-x64-1_85.lib"
注意库名含编译标识(如 -mt=多线程,-x64=64位,-1_85=版本),务必匹配你编译出的文件名。
基本上就这些。Boost 配置不复杂但容易忽略 toolset 和链接模式匹配,建议首次用最小例子验证(如只用 optional 测试头文件路径,再逐步加入 filesystem 测试链接)。官方文档 Getting Started 是最权威参考。
以上就是c++++ Boost库安装与使用_c++准标准库Boost配置指南【环境搭建】的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号