vnsc5858威尼斯城官网 > vnsc5858威尼斯城官网 > Ubuntu下编译安装boost库,ubuntu下boost编译安装

原标题:Ubuntu下编译安装boost库,ubuntu下boost编译安装

浏览次数:92 时间:2019-09-11

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,这两个是一样的,

    cout << "min timespan: " << t.elapsed_min() << "s" << endl;

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

  1. cd ~/Downloads 


  2. tar --bzip2 -xvf boost_1_58_0.tar.bz2 


读完这段话,应该就明白出错原因了。所以,解决方案就是用下面的命令来编译:

ubuntu下boost编译安装

boost

安装

max timespan: 0.596523h

1.依赖安装

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


bjam的一些常用的参数,列表如下:

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

上述函数库装好之后,就可以编译boost库了。解压boost_1_49_0.tar.bz2,得到/boost_1_49_0,将当前工作目录切换到此文件夹下。

5.编译并安装boost

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

  1. ./b2  //编译boost 


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


环境:Ubuntu 12.04 32bit,boost 1.49

6.卸载

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

#include "stdcpp.hpp"

7.测试安装是否正确

新建cpp文件

  1. vim boot.cpp 


  2. #include <string> 


  3. #include <iostream> 


  4. #include <boost/version.hpp> 


  5. #vnsc5858威尼斯城官网 ,include <boost/timer.hpp> 


  6. using namespace std; 


  7. int main() 



  8. boost::timer t; 


  9. cout << "max timespan: " << t.elapsed_max() / 3600 << "h" << endl; 


  10. cout << "min timespan: " << t.elapsed_min() << "s" << endl; 


  11. cout << "now time elapsed: " << t.elapsed() << "s" << endl; 


  12. cout << "boost version" << BOOST_VERSION <<endl; 


  13. cout << "boost lib version" << BOOST_LIB_VERSION <<endl; 


  14. return 0; 



编译

  1. g++ boot.cpp -o boot 


  2. ./boot 


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

  1. max timespan: 2.56205e+09h 


  2. min timespan: 1e-06s 


  3. now time elapsed: 0.000121s 


  4. boost version106300 


  5. boost lib version1_63 


接下来就是利用生成的bjam脚本编译源代码了

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

./b2 install

}

min timespan: 1e-06s

apt-get install mpi-default-dev  #安装mpi库

using mpi ;  #如果需要MPI功能,需要在 /tools/build/v2/user-config.jam 文件的末尾添加

 

我也在ubuntu下装了boost,不过遇到了一些问题:
www.bkjia.com @www.bkjia.com:~/Code$ g++ -lboost_filesystem -lboost_system main.cpp
/tmp/cclYtfBf.o: In function `__static_initialization_and_destruction_0(int, int)':
main.cpp:(.text+0x49): undefined reference to `boost::system::generic_category()'
main.cpp:(.text+0x53): undefined reference to `boost::system::generic_category()'
main.cpp:(.text+0x5d): undefined reference to `boost::system::system_category()'
collect2: ld returned 1 exit status

using namespace boost;

 

12.04 32bit,boost 1.49 前期准备:boost中,用到了别的函数库,所以为了使用boost中相应的功能,需要先安装系统中可能缺失的库...

#include <boost/timer.hpp>

{

./bootstrap.sh

至此,如果一切顺利,就完成安装了。写个小程序检验下,来自《Boost程序库完全开发指南——深入C++“准”标准库(修订版)》(罗剑锋著,电子工业出版社2012.5)

-----------------------------------分割线-----------------------------------

本文由vnsc5858威尼斯城官网发布于vnsc5858威尼斯城官网,转载请注明出处:Ubuntu下编译安装boost库,ubuntu下boost编译安装

关键词:

上一篇:没有了

下一篇:没有了