在编译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

在Ubuntu上安装boost库[转]的更多相关文章

  1. ubuntu上安装boost库

    只需一条命令: sudo apt install libboost-dev

  2. ubuntu 下安装boost库

    ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...

  3. C++: Mac上安装Boost库并使用CLion开发

    1.下载安装Boost库 官网下载最新版本1.65.0:http://www.boost.org/users/history/version_1_65_0.html 选择UNIX版本: 下载后解压cd ...

  4. 树莓派上安装boost库

    一.安装boost库 sudo apt-get install libboost-dev aptitude search boost 二.编写测试代码 #include <iostream> ...

  5. Centos 安装boost库

    1.在http://www.boost.org/下载boost安装包boost_1_65_1.tar.gz 2.在Centos上解压tar -zxvf  boost_1_65_1.tar.gz后,cd ...

  6. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  7. Ubuntu上安装MongoDB(译)

    add by zhj:直接从第四步开始就可以了,而且安装好MongoDB后会自动启动的,不必自己去执行启动命令 原文:https://docs.mongodb.com/manual/tutorial/ ...

  8. Ubuntu上安装QQ2015

    先不卖关子直接上图:Ubuntu 14.04.5 LTS Deb包下载地址: http://www.longene.org/download/WineQQ7.8-20151109-Longene.de ...

  9. 怎样在Ubuntu上安装最新版本号的Node.js

    怎样在Ubuntu上安装最新版本号的Node.js 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Node.js是一个软件平台,通经常使用于构建大规模的 ...

随机推荐

  1. OpenCL 归约 1

    ▶ 照着书上的代码,写了几个一步归约的计算,只计算一步,将原数组归约到不超过 1024 个工作项 ● 代码 // kernel.cl __kernel void reduce01(__global u ...

  2. 10. 数据模型(ER图)转为sql脚本,要求导出的字段都是大写的

    1.进入Tools-->Execute Commands-->Edit/Run Script,执行以下脚本即可实现所有字段转为大写; Option Explicit ValidationM ...

  3. sssp-webservce_restful

    pom <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or ...

  4. HTML5 通过文件输入框读取文件为base64文件, 并借助canvas压缩 FileReader, files, drawImage

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  5. redis、memcache和mongodb各自的优缺点是什么

    redis.memcahce 比较相似,但与 mongodb 完全不同,几乎没有可比性. 总的来说 redis/memcache 是基于内存的,讲究的是性能,多用作缓存层,比如说存放session.而 ...

  6. cookie和session的比较

    cookie和session的比较 一.对于cookie: ①cookie是创建于服务器端 ②cookie保存在浏览器端 ③cookie的生命周期可以通过cookie.setMaxAge(2000); ...

  7. shiro 没有权限异常处理

    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> ...

  8. DEMO: springboot 与 freemarker 集成

    直接在 DEMO: springboot 与 mybatis 集成 基础上,进行修改. 1.pom.xml 中引用 依赖 <dependency> <groupId>org.s ...

  9. spring-boot+quartz的CRUD动态任务管理系统

    版权声明:作者: 小柒 出处: https://blog.52itstyle.com 分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大 ...

  10. J2SE 8的集合

    List ArrayList查询效率高LinkedList插入删除效率高 ArrayList ArrayList<String> arrayList = new ArrayList< ...