ubuntu20.04下下载安装boost

一、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的路径即可。

  • 7
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

雪天鱼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值