在 CentOS 上安装 Boost 库,通常有两种主要方法:通过包管理器(如yum
或dnf
)安装预编译版本,或者从源代码编译安装,以下是两种方法的详细步骤:
方法一:通过包管理器安装
这种方法简单快捷,但可能无法获取最新版本的 Boost 库。

1、更新软件包索引:确保你的系统软件包索引是最新的。
- sudo yum update
2、安装 Boost 开发库:使用yum
或dnf
命令安装 Boost 开发库。
- sudo yum install boostdevel
3、验证安装:可以通过检查 Boost 的版本来验证安装是否成功。
- rpm q boostdevel
方法二:从源代码编译安装
这种方法可以让你安装特定版本的 Boost 库,并且可以自定义编译选项。
1、安装必要的依赖项:在编译 Boost 之前,需要确保系统中安装了必要的编译工具和依赖项。
- sudo yum groupinstall "Development Tools"
- sudo yum install bzip2devel
2、下载 Boost 源码:从 [Boost 官方网站](httPS://www.boost.org/users/download/) 下载所需的 Boost 版本源码包,下载 Boost 1.86.0 版本:

- wget https://boostorg.jfrog.io/artifactory/main/release/1.86.0/source/boost_1_86_0.tar.bz2
3、解压源码包:将下载的源码包解压到你选择的目录,例如/home/username
。
- tar xjvf boost_1_86_0.tar.bz2 C /home/username
- cd /home/username/boost_1_86_0
4、配置 Boost 构建:运行bootstrap.sh
脚本来配置 Boost 构建环境。
- ./bootstrap.sh withlibraries=all withtoolset=gcc
如果你只想编译特定的 Boost 库,可以将withlibraries=all
替换为你想要编译的库名称列表,以逗号分隔,只编译system
和filesystem
库:
- ./bootstrap.sh withlibraries=system,filesystem withtoolset=gcc
5、编译 Boost 库:运行b2
命令来编译 Boost 库,默认情况下,这将使用所有可用的核心进行编译,你可以添加j
参数来指定使用的核心数量。
- ./b2
- # 或者指定核心数量,例如使用 4 个核心
- ./b2 j4
6、安装 Boost 库:编译完成后,使用sudo ./b2 install
命令将 Boost 库安装到系统目录,默认情况下,头文件将被安装到/usr/local/include/boost
,库文件将被安装到/usr/local/lib
。
- sudo ./b2 install
7、更新共享库缓存:安装完成后,运行ldconfig
命令来更新共享库缓存,以便系统能够找到新安装的 Boost 库。

- sudo ldconfig
8、验证安装:你可以通过查看安装的库文件或运行一个简单的测试程序来验证 Boost 库是否正确安装,创建一个测试 C++ 程序来包含并使用 Boost 库中的一个功能。
FAQs
Q1: 如果我不想安装所有 Boost 库,只想安装其中的几个特定库,应该怎么做?
A1: 在运行bootstrap.sh
脚本时,可以使用withlibraries
参数来指定你想要编译的库名称列表,如果你想编译system
、filesystem
和thread
库,可以这样做:
- ./bootstrap.sh withlibraries=system,filesystem,thread withtoolset=gcc
然后在编译和安装步骤中继续按照上述流程进行即可。
Q2: 我在执行./b2
命令时遇到了权限错误,该怎么办?
A2: 这是因为b2
命令尝试访问或修改一些需要超级用户权限的文件或目录,你需要在b2
命令前加上sudo
来提升权限。
- sudo ./b2
同样地,在安装 Boost 库时也需要使用sudo
:
- sudo ./b2 install