ubuntu下boost编译安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu下boost编译安装相关的知识,希望对你有一定的参考价值。

ubuntu下boost编译安装

1.依赖安装

  1. apt-get install mpi-default-dev libicu-dev python-dev python3-dev libbz2-dev zlib1g-dev 

2.访问boost官网下载boost最新版本

3.解压下载文件,例如下载文件在~/Downloads下

  1. cd ~/Downloads 
  2. tar --bzip2 -xvf boost_1_58_0.tar.bz2 

4.准备安装

  1. cd boost_1_58 
  2. ./bootstrap.sh 

生成文件b2和bjam计算md5sum发现二者一致
生成bjam,上述命令可以带有各种选项,具体可参考帮助文档: ./bootstrap.sh --help。其中–prefix参数,可以指定安装路径,如果不带–prefix参数的话(推荐),默认路径是 /usr/local/include 和 /usr/local/lib,分别存放头文件和各种库。执行完成后,会生成bjam,已经存在的脚本将会被自动备份。注意,boost 1.49会在当前目录下,生成两个文件bjam和b2,这两个是一样的,

5.编译并安装boost

编译完成后,进行安装,也就是将头文件和生成的库,放到指定的路径(–prefix)下

  1. ./b2  //编译boost 
  2. sudo ./b2 install //将生成的库安装到/usr/local/lib目录下面,默认的头文件在/usr/local/include/boost目录下边。 

6.卸载

将/usr/local/lib和/usr/local/include/boost两个目录下的文件直接删除就可以。

7.测试安装是否正确

新建cpp文件

  1. vim boot.cpp 
  1. #include <string> 
  2. #include <iostream> 
  3. #include <boost/version.hpp> 
  4. #include <boost/timer.hpp> 
  5. using namespace std
  6. int main() 

  7. boost::timer t; 
  8. cout << "max timespan: " << t.elapsed_max() / 3600 << "h" << endl; 
  9. cout << "min timespan: " << t.elapsed_min() << "s" << endl; 
  10. cout << "now time elapsed: " << t.elapsed() << "s" << endl; 
  11. cout << "boost version" << BOOST_VERSION <<endl; 
  12. cout << "boost lib version" << BOOST_LIB_VERSION <<endl; 
  13. return 0

编译

  1. g++ boot.cpp -o boot 
  2. ./boot 

成功编译之后会显示结果,最后两行打印boost版本

  1. max timespan: 2.56205e+09
  2. min timespan: 1e-06
  3. now time elapsed: 0.000121
  4. boost version106300 
  5. boost lib version1_63 

以上是关于ubuntu下boost编译安装的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 22.04源码编译安装boost库

Linux(Ubuntu/Debian/CentOS/RedHat)下交叉编译boost库

ubuntu编译安装mysql5.7

如何在ubuntu安装mose

Linux下boost库的编译安装详解

在ubuntu上交叉编译Boost 1.57.0 for arm