怎样编译安装Boost

2016年8月9日 | 分类: 【技术】

【介绍】

Boost库是一个开源可移植的为C++语言标准库提供扩展的一些C++程序库的总称。是C++标准化进程的开发引擎之一。

官网:http://www.boost.org/

参考:http://linuxfromscratch.org/blfs/view/7.8/general/boost (boost_1_59_0)
参考:http://www.linuxfromscratch.org/blfs/view/svn/general/boost (Boost-1.61.0 )
参考:https://www.cnblogs.com/LyndonYoung/articles/5288618.html

下载:http://sourceforge.net/projects/boost/

【安装 Boost 1.69.0】

目前最新版本:Boost 1.69.0

wget http://downloads.sourceforge.net/project/boost/boost/1.69.0/boost_1_69_0.tar.bz2 && tar -jxf boost_1_69_0.tar.bz2 && cd boost_1_69_0
sed -e '1 i#ifndef Q_MOC_RUN' -e '$ a#endif' -i boost/type_traits/detail/has_binary_operator.hpp 
./bootstrap.sh --prefix=/usr
./b2 stage threading=multi link=shared
./b2 install threading=multi link=shared

【安装 Boost 1.59.0】

MySQL5.7系列,要求boost_1_59_0。

wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.bz2 && tar -jxf boost_1_59_0.tar.bz2 && cd boost_1_59_0
sed -e '1 i#ifndef Q_MOC_RUN' -e '$ a#endif' -i boost/type_traits/detail/has_binary_operator.hpp 
./bootstrap.sh --prefix=/usr && ./b2 stage threading=multi link=shared && ./b2 install threading=multi link=shared

【Boost的版本查看】

查看Boost库版本:

打开文件:

/usr/include/boost/version.hpp

看到里面的Boost版本号:

#define BOOST_LIB_VERSION "1_68"

【Boost的安装路径】

编译产生的boost目录将拷贝至 /usr/include/boost ,相应的库 stage/lib/ 下的所有文件将拷贝至 /usr/lib/libboost_* 。

Boost头文件路径:/usr/include/boost
Boost库文件路径:/usr/lib

比如编译 nghttp2 时:

--with-boost-libdir=/usr/lib

【卸载Boost库】

因为只是简单地拷贝头文件和库文件,所以直接删除Boost库头文件和库文件即可:

rm -rf /usr/include/boost
rm /usr/lib/*boost*

【MySQL版本和Boost版本的对应关系】

在MySQL编译时,在configure配置步骤时可能会提示Boost版本不对,必须按照提示安装相应版本:

1. MySQL5.7.7要求boost_1_57_0
2. MySQL5.7.8要求boost_1_58_0
3. MySQL5.7.9之后都使用boost_1_59_0