zoukankan      html  css  js  c++  java
  • 在Ubuntu上安装boost库[转]

    在编译kenlm的时候需要安装boost,去官网下载boost安装包,然后按照以下步骤安装。

    boost官网

    -----------------以下内容,网上转载------------------------------

    boost中,用到了别的函数库,所以为了使用boost中相应的功能,需要先安装系统中可能缺失的库

    • apt-get install mpi-default-dev   #安装mpi库
    • apt-get install libicu-dev      #支持正则表达式的UNICODE字符集
    • apt-get install python-dev     #需要python的话
    • apt-get install libbz2-dev      #如果编译出现错误:bzlib.h: No such file or directory

    如果在安装以上库失败的话可以尝试一下用
    sudo apt-get update

    然后在进行安装。
    上述函数库装好之后,就可以编译boost库了。
    解压boost_1_49_0.tar.bz2,得到/boost_1_49_0,将当前工作目录切换到此文件夹下。
    打开解压后的文件夹,里面有个bootstrap.sh的脚本文件,运行这个脚本
    ./bootstrap.sh

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

    注意,必须用管理员权限,否则无法写入到/usr/local/*目录下,sudo ./b2 install

    安装结束后可以进行测试一下
    建立一个test.cpp文件

    touch test.cpp

    vim test.cpp

    #!c
    
    #include<iostream>
    #include<boost/bind.hpp>
    using namespace std;
    using namespace boost;
    int fun(int x,int y){return x+y;}
    int main(){
    	int m=1;int n=2;
    	cout<<boost::bind(fun,_1,_2)(m,n)<<endl;
    	return 0;
    }
    

    编译
    g++ test.cpp -o test
    执行:
    ./test
    结果:
    3

  • 相关阅读:
    如何解决aws解绑银行卡问题?
    如何解决macbook pro摄像头不工作的问题
    Window安装AutoCAD
    Mac应用程序无法打开,提示不明开发者或文件损坏的处理方法
    Android硬件抽象层(HAL)深入剖析(三)【转】
    Android硬件抽象层(HAL)深入剖析(二)【转】
    Android硬件抽象层(HAL)深入剖析(一)【转】
    Glide的用法
    Gradle-5.3:依赖-管理依赖的版本(传递(transitive)排除(exclude)强制(force)动态版本(+))
    Android 7.0 FileProvider 使用说明
  • 原文地址:https://www.cnblogs.com/jonky/p/10155793.html
Copyright © 2011-2022 走看看