Linux:编译安装boost 1.69库
Boost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发、维护。在C++的地位感觉可以和Spring在Java中相比。 |
boost向来有准标准库之称,很多新特性例如智能指针等都是先在boost中实现,后来被吸收到标准库之中。而且boost实现了日志、算法、日期、地理、数学、线程协程等各种实用工具,所以如果要学习C++,boost是必须要学习的一个东西。
下面记录在Linux下编译安装boost1.69库的过程步骤,希望对大家有用。
Linux版本:Ubuntu 18.04 LTS
Boost版本:1.69.0
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install libbz2-dev [sudo] linuxidc 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 将会同时安装下列软件: bzip2-doc 下列【新】软件包将被安装: bzip2-doc libbz2-dev 升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 218 个软件包未被升级。 需要下载 324 kB 的归档。 解压缩后会消耗 513 kB 的额外空间。 您希望继续执行吗? [Y/n] Y
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install libicu-dev 正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
gir1.2-harfbuzz-0.0 icu-devtools libglib2.0-dev libglib2.0-dev-bin
libgraphite2-dev libharfbuzz-dev libharfbuzz-gobject0 libicu-le-hb-dev
libicu-le-hb0 libiculx60 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5
建议安装:
libglib2.0-doc libgraphite2-utils icu-doc
下列【新】软件包将被安装:
gir1.2-harfbuzz-0.0 icu-devtools libglib2.0-dev libglib2.0-dev-bin
libgraphite2-dev libharfbuzz-dev libharfbuzz-gobject0 libicu-dev
libicu-le-hb-dev libicu-le-hb0 libiculx60 libpcre16-3 libpcre3-dev
libpcre32-3 libpcrecpp0v5
升级了 0 个软件包,新安装了 15 个软件包,要卸载 0 个软件包,有 218 个软件包未被升级。
需要下载 11.8 MB 的归档。
解压缩后会消耗 57.4 MB 的额外空间。
您希望继续执行吗? [Y/n] Y
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install Python-dev
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install libbz2-dev
https://sourceforge.net/projects/boost/files/boost/1.69.0/
此处我下载的是 boost1.69,0
解压缩到一个目录
里面有个bootstrap.sh的脚本文件,运行这个脚本
运行脚本:
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ ./bootstrap.sh
Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2
Detecting Python version... 2.7
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... /usr
Generating Boost.Build configuration in project-config.jam... Bootstrapping is done. To build, run: ./b2 To adjust configuration, edit 'project-config.jam'.
Further information: - Command line help:
./b2 --help - Getting started guide:
根据上图提示,进行编译操作。
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ ./b2
Performing configuration checks - default address-model : 64-bit
- default architecture : x86 Building the Boost C++ Libraries. - C++11 mutex : yes
- lockfree boost::atomic_flag : yes
- Boost.Config Feature Check: cxx11_auto_declarations : yes
- Boost.Config Feature Check: cxx11_constexpr : yes
- Boost.Config Feature Check: cxx11_defaulted_functions : yes
- Boost.Config Feature Check: cxx11_final : yes
- Boost.Config Feature Check: cxx11_hdr_mutex : yes
- Boost.Config Feature Check: cxx11_hdr_tuple : yes
- Boost.Config Feature Check: cxx11_lambdas : yes
编译成功后的截图如下:
sudo ./b2 --prefix=/usr/local/boost install
安装好之后截图:
gedit /etc/environment
CPLUS_INCLUDE_PATH=/usr/local/boost/include
LIBRARY_PATH=/usr/local/boost/lib
添加完成后,进行保存操作。
(1)代码编写。输入命令:
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ gedit linuxidc.com.Boost.cpp
打开编辑器,输入以下代码并保存:
#include <boost/date_time/gregorian/gregorian.hpp>
#include <iostream>
using namespace std;
int main()
{
boost::gregorian::date d(boost::gregorian::day_clock::local_day());
cout << d.year()<<"." << d.month()<<"." <<d.day() <<endl;
getchar();
return 0;
}
(2)代码 编译。输入命令:
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ g++ -I /usr/local/boost/include -L /usr/local/boost/lib linuxidc.com.Boost.cpp -o linuxidc.com
(3)执行程序。输入命令:
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ ./linuxidc.com
2019.Mar.20
截图如下
OK,搞定。
Linux:编译安装boost 1.69库的更多相关文章
- Linux 编译安装Boost
linux平台下要编译安装除gcc和gcc-c++之外,还需要两个开发库:bzip2-devel 和python-devel,因此在安装前应该先保证这两个库已经安装: #yum install gcc ...
- linux下编译安装boost库
linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...
- Ubuntu 14.04 编译安装 boost 1.58
简介 Boost is a set of libraries for the C++ programming language that provide support for tasks and s ...
- 【转】linux 编译安装nginx,配置自启动脚本
linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...
- linux 编译安装nginx,配置自启动脚本
本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...
- 转:Linux 编译安装 Mysql5.7
http://broqiang.com/2017/04/18/Mysql-Install-5.7.18-Linux-Compile/ 原文 Linux 编译安装 Mysql5.7 Ubuntu 下快速 ...
- Linux编译安装Apache+PHP
Linux编译安装Apache+PHP 来自:自学it网,http://www.zixue.it/. 1]编译安装Apache+PHP 1.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安 ...
- Linux编译安装Qt 5.4.1(-qt-xcb是必须要指定的,卸载自带的gcc等)
转载请注明文章:Linux编译安装Qt 5.4.1 出处:多客博图 很久不写文章了,过程很简单,但是操作很多,简单说吧. 前言: 操作系统CentOS 6.6,64位的. 1.安装gcc 4.8.4, ...
- ffmpeg安装之linux编译安装
转发自白狼栈:查看原文 关于ffmpeg的安装,有的人可能要折腾很久,甚至折腾一个礼拜,究其原因,基本都是编译安装惹的祸. 我们提供4种安装方式,最复杂的莫过于centos7上的编译安装. ffmpe ...
随机推荐
- Jmeter测试实践:文件上传接口
1.打开jmeter4.0,新建测试计划,添加线程组.根据实际情况配置线程属性. 2.添加HTTP请求. Basic部分修改如下: Advanced部分我做任何修改,完全保持默认.但是有人说Imple ...
- 010-docker-安装-elasticsearch:5.4.3
1.搜索镜像 docker search elasticsearch 2.拉取合适镜像 选择合适tag:https://hub.docker.com/ docker pull elasticsearc ...
- function module 之间调用
1: 在一个function group 中定义一个function module 2:在另外一个module中调用该module "调用其它function 要用 单引号 引着. 一个mo ...
- jquery中把一串字符串分割,如:123456789后者abcdefg类型的
函数:slice() 功能:arrayObject.slice(start,end) start:必需.规定从何处开始选取.如果是负数,那么它规定从数组尾部开始算起的位置.也就是说,-1 指最后一个元 ...
- 【Java】-NO.16.EBook.4.Java.1.003-【疯狂Java讲义第3版 李刚】- oop
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.003-[疯狂Java讲义第3版 李刚]- oop Style:EBook Series:Java S ...
- Swagger Editor Linux安装(全新环境)
查看内核版本 cat /proc/version cat /etc/redhat-release 查看系统是32位还是64位方法总结getconf LONG_BIT 安装相关工具 yum instal ...
- 2018-2019-1 20189221《Linux内核原理与分析》第四周作业
2018-2019-1 20189221<Linux内核原理与分析>第四周作业 教材学习:<庖丁解牛Linux内核分析> 第 3 章 MenuOS的构造 计算机三大法宝:存储程 ...
- Redis:Sentinel哨兵
简介 Sentinel的作用就是主从切换:Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,R ...
- smali加入日志
const-string v0, "aaatag"const-string v1, "msg"invoke-static {v0,v1}, Landroid/u ...
- webpack使用雪碧图插件
1.先安装插件 npm install --save-dev webpack-spritesmith 2.配置webpack 配置之前 先引入var SpritesmithPlugin = requi ...