linux下编译安装boost库_bzlib.h-程序员宅基地

技术标签: centos  

1、下载并解压boost 1.58 源代码

boost的官网:http://jaist.dl.sourceforge.net/project/boost/boost/

下载

wget http://jaist.dl.sourceforge.net/project/boost/boost/1.58.0/boost_1_58_0.tar.bz2

解压

tar -xjf boost_1_58_0.tar.bz2

2、运行bootstrap.sh

bootstrap.sh是用来检查安装环境的,如果报错了,看一下是缺少了什么,安装一下即可(g++)。

./bootstrap.sh

运行完成之后会在当前目录生成一些文件,用于下一步安装。

3、使用b2进行构建

b2是上一步成功后生成的,使用它来进行构建boost库。

sudo ./b2

这里也可能遇到错误,比如没有bzlib.h这个头文件的。

cc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.9.2/release/link-static/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: fatal error: bzlib.h: 没有那个文件或目录
 #include "bzlib.h"  // Julian Seward's "bzip.h" header.
                                                        ^
compilation terminated.

解决办法也是很简单的,执行下面的语句(前提是debina系的linux发行版,或者安装了apt-get)

 sudo apt-get install libbz2-dev 

构建成功的提示

The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    /home/o/Boost库/boost_1_58_0

The following directory should be added to linker library paths:

    /home/o/Boost库/boost_1_58_0/stage/lib

4、安装boost库到指定目录

第三步骤只是说了构建的情况,其实这已经可以用了。如果想安装boost库到指定目录,比如说usr/local目录,可以使用下面的命令来进行。

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

安装以后编译代码的时候还是要指定目录,可以将它添加到环境变量CPLUS_INCLUDE_PATHLIBRARY_PATH中去。

export CPLUS_INCLUDE_PATH=/usr/local/boost/include
export LIBRARY_PATH=/usr/local/boost/lib

这只是临时的,乐意的可以写入/etc/profile文件中。

5、测试一下

#include <boost/date_time/gregorian/gregorian.hpp> 
#include <iostream> 
int main() 
{ 
    boost::gregorian::date d(boost::gregorian::day_clock::local_day());
    std::cout << d.year() << d.month() <<d.day() << std::endl; 
}

编译运行

g++ -I /usr/local/boost/include -L /usr/local/boost/lib boost.cpp -o boost
 ./boost 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/f110300641/article/details/81703418

智能推荐

第二章:变量、数据类型、运算符、表达式-程序员宅基地

文章浏览阅读603次,点赞14次,收藏20次。注意:被关系运算符连接的表达式结果类型为布尔类型,所以关系运算符连接的表达式也被称为布尔表达式(结果:true/false)(2)原理:先判断表达式是否成立,结果为true,执行表达式1,否则执行表达式2。&&:逻辑与,两端连接的为布尔表达式,只有当两端同时为true,结果才true。||:逻辑或,两端连接的是布尔表达式,只要有一端为true,结果为true。B-Byte,字节,1个字节 = 8位(8b) b->bit。赋值运算符:= += -= *= /=// 1-男 0-女。

Python大作业——爬虫+可视化+数据分析+数据库(数据库篇)-程序员宅基地

文章浏览阅读742次,点赞22次,收藏9次。msg_box = QMessageBox(QMessageBox.Warning, ‘温馨提示’, ‘用户名和密码不能为空’)msg_box = QMessageBox(QMessageBox.Warning, ‘错误提示’, ‘用户名或者密码错误’)msg_box = QMessageBox(QMessageBox.Warning, ‘温馨提示’, ‘用户名已经存在’)msg_box = QMessageBox(QMessageBox.Warning, ‘温馨提示’, ‘数据库连接错误’)

FreeType在嵌入式系统中显示矢量字体_矢量字体 csdn-程序员宅基地

文章浏览阅读83次。在这个示例中,我们使用FT_Load_Glyph()函数加载字符索引为charIndex的字符。在这个例子中,我们使用FT_Set_Pixel_Sizes()函数设置字体的像素大小。在这个例子中,我们包含了FreeType的头文件,并定义了一个FT_Library对象来表示FreeType库的实例。在这个示例中,我们使用FT_New_Face()函数加载名为"font.ttf"的字体文件。一旦字体的大小和字符编码设置完成,我们可以进行字体的渲染和显示。在显示字体之前,我们需要设置字体的大小和字符编码。_矢量字体 csdn

Mysql的列式数据库infobright存储引擎_列式存储数据库选型-程序员宅基地

文章浏览阅读7.9k次。什么是infobright? Infobright是一个与MySQL集成的开源数据仓库软件,可作为MySQL的一个存储引擎来使用,SELECT查询与普通MySQL无区别。优点:Ø查询性能高 --比普通Mysql 数据库引擎(MyISAM、InnoDB) 快5-60倍.Ø存储数据量大 --能存储的数据量特别大.Ø高压缩比 --_列式存储数据库选型

学生党双十一蓝牙耳机选购指南,高颜值平价实用蓝牙耳机推荐_击音f1-程序员宅基地

文章浏览阅读179次。蓝牙耳机发展到现在算是达到了高峰,其中涌现的品牌产品不计其数。这就让很多消费者对蓝牙耳机的购买关注点发生了变化,从只认品牌到追求性价比了,而且现在许多平价蓝牙耳机的确是非常值得入手的。刚好双十一也快来临了,又到了购物狂欢节,所以小编就整理了一些性价比高且性能优异的蓝牙耳机,分享给各位。击音F1击音F1搭载了全新的蓝牙5.0芯片,在更高效稳定连接的同时,还将声音信号同时传达到左右耳单元,做到了更低延迟,可以听声辨位占据主动,配合着出众的AAC/SBC高清解码,优化还原了CD级音质,不管是听音乐还是_击音f1

如何定制丝网印刷电极-程序员宅基地

文章浏览阅读30次。丝网印刷电极(Screen-printed electrodes,SPE)是利用印刷技术将碳胶、银胶等各类不同胶材,以不同的设计图样印刷于不易溶解于水的基板/底板上而得到的电极。我们要再聊一下当市售电极无法满足实验需求是该如何定制化丝网印刷电极的。

随便推点

lua qt 编译_Qt学习笔记:Qt中使用Lua-程序员宅基地

文章浏览阅读835次。今天想在Qt中使用Lua进行数据操作结果发现在Qt中使用Lua的文章较少,虽然很简单,但是还是写出来提供入门,顺便记录一下我使用的是Qt Creator 3.4.2,用的是mingw4.9.2的编译器我在Lua官网下载lua版本是5.3.1首先,在要Qt中进行编译Lua,拿到.a和dll这两个文件在Qt Creator->文件->新建文件或项目->Library->C++库..._qt lua

找不到GPU资源——[显存充足,但是却出现CUDA error:out of memory错误]_显存充足cuda out of memory-程序员宅基地

文章浏览阅读2.9w次,点赞6次,收藏29次。说明:系统:Centos(Redhat)环境:python3.6+pytorch1.4.0(gpu)+tensorflow2.0.0(cpu)Cuda:9.2Cudnn:7.0.6?模型 YOLOv3描述图找不到了,就去隔壁偷了一张(传送)在运行git上的yolov3目标检测项目的时候尝试使用GPU加速,结果爆出CUDA error:out of memory隔壁说是找不..._显存充足cuda out of memory

解决ubuntu20.04虚拟机无法上网的问题_ubuntu20.04中的网卡不显示inet-程序员宅基地

文章浏览阅读3.1w次,点赞84次,收藏237次。@linux虚拟机无法正常上网前言刚建立好的linux虚拟机使用NAT方式可以连接外网,系统重启几次,系统无法上网,这是什么问题导致的呢?提示:以下是本篇文章正文内容,下面案例可供参考一、现象使用ifconfig命令查看系统ip相关参数,发现只有网卡lo,外网网卡找不到了。使用ifconfig -a 命令查看网卡相关信息,会看到ens33网卡的相关信息:使用命令sudo ifconfig ens33 up,在使用ifconfig查看网络配置,我们会发现,出现了ens33网络配置:这_ubuntu20.04中的网卡不显示inet

Thinkpad笔记本键盘拆卸_thinkpad键帽拆卸图解-程序员宅基地

文章浏览阅读7.5w次,点赞2次,收藏9次。1、键盘的拆卸并不需要从背板开始,可以直接拆键盘。可以参考视频http://v.youku.com/v_show/id_XMzg4MTc4NjUyNA==.html?spm=a2h0j.11185381.listitem_page1.5!2~A2、键盘帽的拆卸。先扣左上角,再扣右上角,再慢慢拉掉下面的部分,就可以卸掉键帽。安装键帽,只需要按下去,听到两声咔咔就行了。3、键盘x支..._thinkpad键帽拆卸图解

【Godot4.2】注释习惯 -- 拒绝屎山,提高代码可读性_godot 注释-程序员宅基地

文章浏览阅读1.1k次,点赞32次,收藏12次。我个人于2020年9月左右开始接触Godot,在2021年8月汉化一个关于GDScript脚本注释习惯的视频时,学习到了一些有用的代码注释规则,于是逐渐将一些注释习惯引入自己的代码书写中。这些注释习惯一直延续至今,并逐渐形成我自己的一种风格。本篇就来介绍一下我自己的注释习惯,以及谈谈这样做的好处。当然你并不需要完全和我一致,每个人都有自己的习惯。如果你觉得还有哪些好的提高代码可读性的好方法,可以留言或讨论。希望本篇内容对学习Godot的小伙伴们有用。_godot 注释

ChatGPT能测试用例,那么测试人员会被取代吗?_有人说chatgpt将会替代软件测试工程师(点工)-程序员宅基地

文章浏览阅读3.2k次。功能测试:检查用户名、密码、验证码的输入和校验,以及登录按钮的点击和跳转 性能测试:检查登录界面的加载速度,以及不同情况下的响应时间 界面测试:检查登录界面的布局、样式、字体、颜色等是否符合设计要求 安全性测试:检查是否有防止SQL注入、暴力破解、跨站脚本等攻击的措施 兼容性测试:检查在不同的浏览器、操作系统、分辨率下是否能正常显示和使用 可用性测试:检查是否支持Tab和Enter键,以及提示语是否友好 你想要我给你具体的例子吗?从功能覆盖率上说也没啥问题,基本的要点都有,而且异常情况也有比较多的覆盖。_有人说chatgpt将会替代软件测试工程师(点工)