在编译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. python写一个简单的CMS识别

    前言: 收集了一点cms路径,打算在写一个.之前已经写了 有需要的可以自己翻我的博客 思路: 网站添加路径判断是否为200,并且无过滤列表中的字符 代码: import requests import ...

  2. pdb调试工具

    调试--pdb pdb是基于命令行的调试工具,非常类似gnu的gdb(调试c/c++). 命令 简写命令 作用 break b 设置断点 continue c 继续执行程序 list l 查看当前行的 ...

  3. uva-10050-模拟水题

    一个社会研究组织决定通过一组简单的参数来模拟国家政党的行为.第一个参数一个正整数h(叫做罢工参数),用于指示在对应的政党在俩个连续休假之间的平均天数.虽然这个参数太简单了,它不是最完美的参数.但是它还 ...

  4. html调用静态json例子

    1.json { "current": 2, "result": "success" } 1.html <!doctype html& ...

  5. restfull 风格 参考 https://blog.csdn.net/jaryle/article/details/52141097

    https://www.cnblogs.com/xiaoxian1369/p/4332390.html :

  6. Redis hash数据结构

    1, 新增一个 hash 或者 新增数据 => hset key field value 2, 获取某个字段值 => hset key field 3, 获取所有字段值 => hge ...

  7. 前端-CSS-5-继承性&层叠性&权重比较

    1.继承性 <style type="text/css"> .father{ font-size: 30px; background-color: green; } . ...

  8. 17 hashlib模块

    1.HASH的基本概念 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值. 这种转 ...

  9. top命令之你不一定懂的cpu显示信息

    %st(Steal time) 是当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比. ------------------------------- ...

  10. python中if __name__ == '__main__': 解析

    当你打开一个.py文件时,经常会在代码的最下面看到if __name__ ==  '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一 ...