在Ubuntu上安装boost库[转]
在编译kenlm的时候需要安装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会在当前目录下,生成两个文件bjam
和b2
,这两个是一样的)
编译完成后,进行安装,也就是将头文件和生成的库,放到指定的路径(--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库[转]的更多相关文章
- ubuntu上安装boost库
只需一条命令: sudo apt install libboost-dev
- ubuntu 下安装boost库
ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...
- C++: Mac上安装Boost库并使用CLion开发
1.下载安装Boost库 官网下载最新版本1.65.0:http://www.boost.org/users/history/version_1_65_0.html 选择UNIX版本: 下载后解压cd ...
- 树莓派上安装boost库
一.安装boost库 sudo apt-get install libboost-dev aptitude search boost 二.编写测试代码 #include <iostream> ...
- 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 ...
- linux下编译安装boost库
linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...
- Ubuntu上安装MongoDB(译)
add by zhj:直接从第四步开始就可以了,而且安装好MongoDB后会自动启动的,不必自己去执行启动命令 原文:https://docs.mongodb.com/manual/tutorial/ ...
- Ubuntu上安装QQ2015
先不卖关子直接上图:Ubuntu 14.04.5 LTS Deb包下载地址: http://www.longene.org/download/WineQQ7.8-20151109-Longene.de ...
- 怎样在Ubuntu上安装最新版本号的Node.js
怎样在Ubuntu上安装最新版本号的Node.js 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Node.js是一个软件平台,通经常使用于构建大规模的 ...
随机推荐
- ByteCache
private static class ByteCache { private ByteCache(){} //256个元素,用于缓存-128到127 static final Byte cache ...
- UVA127
模拟游戏,规则如下把卡牌一张接一张,从左到右依次摊开,不可以重叠,每当某张卡片和左边(左边第三张)卡片匹配,它就能放到另外一张卡片上,匹配的规则是他们有一样的级别或者花色,在每次移动完成以后,还需要再 ...
- 使用 IIS 过程中遇到的一些问题
由于我最近开发的 Web 程序多是采用 Python 为主,因此大部分都是部署在 Linux 下的,自然在 Web 服务器上就选择了 Nginx,不过一些纯静态文件的 Web 应用会放在 IIS 下面 ...
- DDoS攻防战 (一) : 概述
岁寒 然后知松柏之后凋也 ——论语·子罕 (此图摘自<Web脚本攻击与防御技术核心剖析>一书,作者:郝永清先生) DDoS,即 Distributed Denial of Servi ...
- JS的prototype和__proto__、constructor
看了JS的prototype和__proto__这篇文章,才感觉很清晰了,对于原型这块,以前经常把这些属性弄不清楚, 明白了之后保存下整理下: prototype: 是函数的一个属性(每个函数都有一个 ...
- python 网页爬虫,下载网络图片
# coding=utf-8 import lxml,bs4,re,requests csvContent='' file = open('D:\\tyc_demo.html','rb') soup ...
- input文本框 放上图片img 通过padding relative和absolute 的实现
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- RocketMQ初探(五)之RocketMQ4.2.6集群部署(单Master+双Master+2m+2s+async异步复制)
以下部署方式结合众多博友的博客,经过自己一步一步实际搭建,如有雷同,侵权行为,请见谅...其中遇到不少的坑,希望能帮到更多的人,现在很少能找到一份完整版4.2.6版本的搭建教程了,如果你有幸遇见,那么 ...
- 6 unit3-文件操作&函数 review
文件处理相关 1.编码问题 (1)请说明python2 与python3中的默认编码是什么? py2默认ASCII码,py3默认的utf8 (2)为什么会出现中文乱码?你能列举出现乱码的情况有哪几种? ...
- app.$mount("#app") 手动挂载
$mount()手动挂载 当Vue实例没有el属性时,则该实例尚没有挂载到某个dom中: 假如需要延迟挂载,可以在之后手动调用vm.$mount()方法来挂载.例如: new Vue({ //el: ...