harfbuzz安装位置 linux_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

1、安装依赖库文件

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

#安装mpi库

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

#支持正则表达式的UNICODE字符集

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install Python-dev

#需要python的话

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install libbz2-dev

2、下载安装包

https://sourceforge.net/projects/boost/files/boost/1.69.0/

此处我下载的是 boost1.69,0

解压缩到一个目录

3、cd 到该目录

里面有个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:

根据上图提示,进行编译操作。

4、开始编译 boost

编译要一点时间,出去跳跳绳吧,打打拳击吧,输入命令:

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

编译成功后的截图如下:

5、开始安装

将boost库相关文件安装至/usr/local。输入命令:

sudo ./b2 --prefix=/usr/local/boost install

安装好之后截图:

将boost库添加至环境变量。输入命令:

gedit /etc/environment

向文件中增加如下路径:

CPLUS_INCLUDE_PATH=/usr/local/boost/include

LIBRARY_PATH=/usr/local/boost/lib

添加完成后,进行保存操作。

6、测试案例

(1)代码编写。输入命令:

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ gedit linuxidc.com.Boost.cpp

打开编辑器,输入以下代码并保存:

#include

#include

using namespace std;

int main()

{

boost::gregorian::date d(boost::gregorian::day_clock::local_day());

cout << d.year()<

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,搞定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值