ubuntu20.04下下载安装boost

阅读: 评论:0

ubuntu20.04下下载安装boost

ubuntu20.04下下载安装boost

文章目录

  • 一、boost的安装
  • 二、boost的卸载
  • 三、安装报错的解决方法
  • 四、多版本boost的管理方式

一、boost的安装

在官网:,可以根据需求选择版本,我选择的是Version 1.70.0,ubuntu平台下,选择 boost_1_70_ 安装包下载。

将压缩包放到自己想存放的目录下,然后提取:

再运行如下命令

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 -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.
...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.
...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.
...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.
...failed updating 
...skipped 
...updated 
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的路径即可。

本文发布于:2024-01-29 13:27:06,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170650602915599.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:boost
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23