linux下编译安装boost库_土戈的博客-程序员宅基地

技术标签: 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

智能推荐

生物信息学习——tophat运行报错_流汗的干戈的博客-程序员宅基地

在装好tophat之后,配置好环境变量,下载官网上的test_data文件,进入test_data文件目录,运行tophat,结果报错:$ tophat -r 20 test_ref reads_1.fq reads_2.fq[2017-03-02 14:48:43] Beginning TopHat run (v2.1.1)---------------------------

Halcon MFC混合编程-图像显示随鼠标滚动放大缩小_zijingping的博客-程序员宅基地

MFC Halcon配置详见博客点击打开链接1.新建基于对话框工程,工程名取为image2.在类中定义如下变量和函数:public: HTuple m_hWnd; //显示窗口句柄 HObject m_hImage;//图像对象 HTuple m_hWidth;//图像宽 HTuple m_hHeight; CRect m_rtImage;

matplotlib入门---add_subplot切割区域_gaishilaji的博客-程序员宅基地

paper = plt.figure() #创建一个新画布area = paper.add_subplot(111) #把画布分为1行1列,area为从左往右从上往下第1块区域area.plot(x,y) #在切割出的区域上作图plt.show() #展示画布实例机器学习实战kNN算法 对datingTestSet2.txt的分析 group是...

JavaScript第十三章_Сюй的博客-程序员宅基地

JavaScript第十三章理解事件流事件流:事件流描述的是从页面中接收事件的顺序事件冒泡:事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档)。事件捕获:事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点应该最后接收到事件。事件捕获的用意在于在事件到达预定目标之前捕获它。DOM事件流:包括三个阶段:事件捕获阶段、...

1078 Hashing(25 分)_galesaur_wcy的博客-程序员宅基地

1078 Hashing(25 分)The task of this problem is simple: insert a sequence of distinct positive integers into a hash table, and output the positions of the input numbers. The hash function is defined t...

阿里P7背调红灯:被前前公司说坏话,修改领导名被查_架构师小秘圈的博客-程序员宅基地

一位面试阿里P7的求职大佬,所有流程都顺利通过了。眼看阿里p7offer到手,年薪百万在即,没想到在背调环节出了问题,被亮了红灯。人生的反转来的太快,就像龙卷风,可把这位大佬郁闷坏了。原因...

随便推点

java中去重机制_gao_chun的博客-程序员宅基地

要了解更详细的原理,可以去了解Java中集合的机制,这里的主要原因就是要复写hashCode()方法和equals()方法贴下代码:

org.apache.ibatis.reflection.ReflectionException: There is no setter for property named_g666m666d666的博客-程序员宅基地

HTTP Status 500 - Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property...

win下anaconda3-4.2.0(对应python3.5)离线安装tensorflow_wbgan1994的博客-程序员宅基地

环境win10 64位+Anaconda3-4.2.0-Windows-x86_64(对应python3.5)离线提前准备文件主要是大量的库,注意版本,不能太高,也不能太低。的文件地址:安装下载好文件后,全程不用联网1.首先需要安装Anaconda3,双击exe即可,选择自己的安装路径(例如:D:\Program Files\Anaconda3)2.解...

人工智能28个常见术语,别再说你不懂AI了!_架构师小秘圈的博客-程序员宅基地

由于人工智能不再是一个模糊的营销术语,而是更多的精确意识形态,因此理解所有AI术语越来越成为一项挑战。国外AI领域的专家们聚在一起,为大家定义了人工智能领域的一些最初常见...

java项目编译时丢失文件夹_g_blue_wind的博客-程序员宅基地

项目编译时没有生成mappings文件夹,处理方法记录:1、配置mybatis时存放xml文件,建立一个文件夹,路径配置: &amp;lt;property name=&quot;mapperLocations&quot; value=&quot;classpath:/mappings/**/*.xml&quot;&amp;gt;&amp;lt;/property&amp;gt;  如图但是编译后没有此文件夹,只有配置文件2、解决方法查...

面试题-架构_漫玥刚花的博客-程序员宅基地

1、oauth2:sso单点登录:https://blog.csdn.net/isea533/article/details/78078101?utm_source=tuicool&amp;amp;utm_medium=referral

推荐文章

热门文章

相关标签