Linux 16.04LTS编译安装boost 1.58.0

boost向来有准标准库之称,很多新特性例如智能指针等都是先在boost中实现,后来被吸收到标准库之中。而且boost实现了日志、算法、日期、地理、数学、线程协程等各种实用工具,所以如果要学习C++,boost是必须要学习的一个东西。
下面记录在Linux下编译安装boost1.58.0库的过程步骤,希望对大家有用。

一、编译平台

Linux版本:Ubuntu 16.04 LTS

Boost版本:1.58.0

二、下载boost安装包

https://sourceforge.net/projects/boost/files/boost/1.58.0/

三、编译boost

1、bootstrap

cd boost_1_58_0
#./bootstrap.sh
./bootstrap.sh --with-libraries=all --with-toolset=gcc

--with-libraries指定编译哪些boost库all的话就是全部编译,只想编译部分库的话就把库的名称写上,之间用 , 逗分隔即可,可指定的库有以下几种:

Component configuration:

    - atomic                   : building
    - chrono                   : building
    - container                : building
    - context                  : building
    - coroutine                : building
    - date_time                : building
    - exception                : building
    - filesystem               : building
    - graph                    : building
    - graph_parallel           : building
    - iostreams                : building
    - locale                   : building
    - log                      : building
    - math                     : building
    - mpi                      : building
    - program_options          : building
    - python                   : building
    - random                   : building
    - regex                    : building
    - serialization            : building
    - signals                  : building
    - system                   : building
    - test                     : building
    - thread                   : building
    - timer                    : building
    - wave                     : building

--with-toolset指定编译时使用哪种编译器,Linux下使用gcc即可,如果系统中安裝了多个版本的gcc,在這里可以指定gcc的版本,比如--with-toolset=gcc-4.4

2、b2

#需要10几分钟
./b2

遇到的问题“...failed updating 31 targets...”,是因为将源码放在了虚拟机共享的文件下进行编译,这样的操作是不允许的,共享文件夹是虚拟机通过挂载的方式挂载在Windows上的。在windows的文件夹是支持NTFS格式的,它是不允许编译so文件时进行符号链接的。

以下是成功的截图:

四、安装

sudo ./b2 --prefix=/usr/local/boost_1_58_0 install
#会将boost的头文件和库安装到/usr/local/boost_1_58_0/

五、将boost库添加至环境变量

gedit /etc/environment
#向文件中增加以下路径
CPLUS_INCLUDE_PATH=/usr/local/boost_1_58_0/include
LIBRARY_PATH=/usr/local/boost_1_58_0/lib

六、更新库

如果安裝后想马上使用boost库进行编译,还需要执行一下这个命令:

sudo ldconfig
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值