ubuntu20.04下下载安装boost

本文介绍Boost库在Ubuntu下的安装步骤,包括从官网下载指定版本、编译安装过程及常见错误解决办法。此外还介绍了如何卸载Boost库以及多版本Boost的共存管理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、boost的安装

在官网:https://www.boost.org/users/history/下载安装包,可以根据需求选择版本,我选择的是Version 1.70.0,ubuntu平台下,选择 boost_1_70_0.tar.gz 安装包下载。
在这里插入图片描述
在这里插入图片描述

将压缩包放到自己想存放的目录下,然后提取:
在这里插入图片描述
再运行如下命令

cd boost_1_70_0
./bootstrap.sh

在这里插入图片描述
运行上一步命令后得到一个文件,名字是bjam,运行这个文件:

   ./bjam   # 这里需要一会时间,配置环境

在这里插入图片描述
再运行命令进行安装

sudo ./b2 install  # 不sudo的话,无法在 usr/include创建 boost文件夹

安装地址为:

 /usr/local/include/boost
 /usr/local/lib/libboost

在这里插入图片描述
在这里插入图片描述

二、boost的卸载

卸载boost的操作根据安装情况的不同,操作不一:
A. 对于使用apt-get安装的boost版本

sudo apt-get install libboost1.xx-dev # libboost1.65-dev for example 安装
dpkg -S /usr/include/boost/version.hpp # 查看安装的boost版本
sudo apt-get autoremove libboost1.65-dev # 卸载

但是对于使用源码编译的boost库,包括查看boost版本在内的所有上述代码不可用
B.使用源码编译的boost库,查看安装的boost版本如下

cat /usr/local/include/boost/version.hpp | grep “BOOST_LIB_VERSION”
#查看安装的boost版本. version.hpp 前面的路径可变,即找到/usr/路径下的version.hpp即可

卸载源码编译的boost库,需要删除:
1.安装路径的boost; 2. /usr/local/include/路径下的boost*; 3. /usr/local/lib/路径下的libboost*

sudo rm -r -f /usr/local/include/boost*
sudo rm -f /usr/local/lib/libboost*

2、3步骤需要使用sudo权限
参考博客

三、安装报错的解决方法

参考博客
安装boost的时候执行./b2那一步时,会出现这样的报错:

...skipped <p/home/jc-cao/app_download_address/boost/boost_1_70_0/stage/lib>libboost_python36.so.1.70.0 for lack of <pbin.v2/libs/python/build/gcc-9.3.0/release/python-3.6/threading-multi/visibility-hidden>libboost_python36.so.1.70.0...
...skipped <p/home/jc-cao/app_download_address/boost/boost_1_70_0/stage/lib>libboost_python36.so for lack of <p/home/jc-cao/app_download_address/boost/boost_1_70_0/stage/lib>libboost_python36.so.1.70.0...
...skipped <p/home/jc-cao/app_download_address/boost/boost_1_70_0/stage/lib>libboost_python36.so.1 for lack of <p/home/jc-cao/app_download_address/boost/boost_1_70_0/stage/lib>libboost_python36.so.1.70.0...
...skipped <p/home/jc-cao/app_download_address/boost/boost_1_70_0/stage/lib>libboost_python36.so.1.70 for lack of <p/home/jc-cao/app_download_address/boost/boost_1_70_0/stage/lib>libboost_python36.so.1.70.0...
...failed updating 66 targets...
...skipped 16 targets...
...updated 178 targets...
jc-cao@jccao-virtual-machin
…failed updating 66 targets…
…skipped 12 targets…

提示找不到pyconfig.h
在这里插入图片描述
参考git上的提问区,发现是boost编译时会出现无法自动定位到python位置的问题。
解决方法:手动修改project-config.jam文件,设置python路径:
在这里插入图片描述
文件中默认把我的python定位到了/home/jc-cao/Anaconda3_5.2,但实际路径是/home/jc-cao/Anaconda3_5.2/lib/python3.6
先执行

./bootstrap.sh --with-python=python3.6

注:此步在修改前执行,版本设置为所设置python路径的对应版本。否则安装程序会自动修改配置文件中的python路径。
再对配置文件进行修改:
在这里插入图片描述

重新执行

 
sudo ./b2 install

在这里插入图片描述
这样就完成了。

四、多版本boost的管理方式

由于高阶版本的boost没有一些库,所以有时候会下载安装多个版本的boost:
由于默认安装位置为下述路径:

 /usr/local/include/boost
 /usr/local/lib/libboost

所以只需要将boost 重命名即可,比如 同时安装了1.7.6和1.7.0,则将这两个路径下的包分别命名为 boost1.7.6boost1.7.0,在CMake设置好所需版本的boost的路径即可。

### 如何在 Ubuntu 20.04 上逐步安装 Boost 1.71 要在 Ubuntu 20.04 上成功安装 Boost 1.71 库,可以按照以下方法操作。此过程涉及下载源码、编译以及安装。 #### 准备工作 确保系统已经更新到最新状态,并安装必要的构建工具: ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential g++ python3-dev autotools-dev libicu-dev cmake pkg-config libssl-dev -y ``` #### 下载 Boost 源代码 访问官方 Boost 网站或其 Git 存储库获取指定版本的源代码文件。对于 Boost 1.71 版本,可以通过以下命令完成下载和解压: ```bash wget https://boostorg.jfrog.io/artifactory/main/release/1.71.0/source/boost_1_71_0.tar.gz tar xzf boost_1_71_0.tar.gz cd boost_1_71_0/ ``` #### 配置 Bootstrap 运行 `bootstrap.sh` 脚本来初始化构建环境。这一步会生成用于后续编译的必要脚本。 ```bash ./bootstrap.sh --prefix=/usr/local ``` 上述命令中的 `--prefix` 参数指定了最终安装路径,默认情况下为 `/usr/local`[^3]。 #### 编译与安装 利用 `b2` 工具执行实际的编译流程,并将结果部署至目标目录: ```bash sudo ./b2 install ``` 该指令可能耗时较长,具体取决于硬件性能及所选组件数量。完成后即可确认 Boost 是否被正确安放于系统的标准位置下。 #### 测试验证 为了检验新装设之 Boost 的可用性状况,可尝试编写一小段测试程序来调用其中的功能模块。例如创建名为 test_boost.cpp 文件内容如下所示: ```cpp #define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> BOOST_AUTO_TEST_CASE( my_test ) { BOOST_CHECK_EQUAL( 1, 1 ); } ``` 接着采用下面的方式对其进行编译链接处理后再予以执行查看效果如何: ```bash g++ -o test_boost test_boost.cpp -lboost_unit_test_framework ./test_boost ``` 如果一切正常,则说明 Boost 成功集成到了当前开发环境中。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪天鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值