最新超详细Boost简介以及安装使用——Linux

最新超详细Boost安装使用——Linux

Boost详细介绍网址:Boost详细介绍

Boost官网下载地址

笔者下载的版本:https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz

Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。

安装步骤:

下载boost源码

wget https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz
#压缩包有点大可能要比较久,笔者下载的时候是121M

解压到一个目录

#到你的下载目录里 

tar -zxvf boost_1_72_0.tar.gz

#解压完安装包可以删除 毕竟有点大 rm boost_1_72_0.tar.gz

 正常编译:

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

##--with-libraries指定编译哪些boost库,all的话就是全部编译,只想编译部分库的话就把库的名称写上,之间用 , 号分隔即可,可指定的库下面介绍。

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

可指定的库有: 
库名 说明 
atomic 
chrono 
context 
coroutine 
date_time 
exception 
filesystem 
graph 图组件和算法 
graph_parallel 
iostreams 
locale 
log 
math 
mpi 用模板实现的元编程框架 
program_options 
python 把C++类和函数映射到Python之中 
random 
regex 正则表达式库 
serialization 
signals 
system 
test 
thread 可移植的C++多线程库 
timer 
wave
在之前有介绍

命令执行完后看到如下所示即为成功:

Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2
Detecting Python version... 2.6
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... not found.
Generating Boost.Build configuration in project-config.jam...

Bootstrapping is done. To build, run:

    ./b2

To adjust configuration, edit 'project-config.jam'.
Further information:

   - Command line help:
     ./b2 --help

   - Getting started guide: 
     http://www.boost.org/more/getting_started/unix-variants.html

   - Boost.Build documentation:
     http://www.boost.org/build/doc/html/index.html

安装boost库

./b2 install --prefix=/usr

##--prefix:boost库的安装目录,不加此参数,默认安装在/usr/local目录下

刷新链接库 

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

ldconfig

#ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。

# 如果编译好程序后,在运行时提示无法加载某个库文件,则把/usr/local/lib下的所有boost的库文件mv到/usr/lib目录下就可以了。

编译程序:

g++ main.cpp -g -o main -lboost_thread

如果boost库的安装位置不是在系统目录下,则还需要在编译时加上-I和-L指定boost头文件和库文件的位置

 编译时如果遇到图中所示错误:

执行:

LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH export LD_LIBRARY_PATH

export LD_LIBRARY_PATH

对你有帮助的话,不防关注、收藏、点赞。每一次鼓励让我充满创作的动力 

原创文章 11 获赞 9 访问量 308

猜你喜欢

转载自blog.csdn.net/qq_41868108/article/details/105778471