Chinaunix首页 | 论坛 | 博客
  • 博客访问: 163924
  • 博文数量: 20
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 221
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-14 18:03
个人简介

做好自己份内事

文章分类

全部博文(20)

文章存档

2019年(1)

2018年(2)

2017年(3)

2016年(3)

2015年(11)

我的朋友

分类: LINUX

2015-12-22 09:02:36

首先下载Berkeley DB源代码,下载路径:

本文档使用的Berkeley DB软件包名及版本为:db-6.1.26.gz

解压进入源代码目录的src/

依次执行命令:

../disk/configure

可以增加参数-prefix来制定安装路径,默认的安装路径在/usr/local/BerkeleyDB_6.1,这里执行命令:

../disk/configure –prefix=/usr/local/berkeleydb/ --enable-cxx

./configure主要是检测你的安装平台的目标特征的。其中–enable-cxx参数就是编译C++库,

分别执行命令

make

make install

如果不加参数--prefix默认安装路径:/usr/local/BerkeleyDB.6.1

目录下有include头文件以及lib库文件,也可以执行make uninstall,则可卸载已安装的DB软件。

Berkeley DB库文件增加到系统库文件路径下,在/etc下面有文件ld.so.conf。可以直接把Berkeley DB库文件路径增加到文件中新的一行。也可以看到ld.so.conf文件其实是包含/etc/ld.so.conf.d下所有的conf文件。所以也可以在/etc/ld.so.conf.d路径下新建一个文件,加入boost库文件路径。

配置文件之后执行ldconfig更新系统的库文件路径即可。

使用示例如下:

g++ -o test demo.cpp -I/usr/local/BerkeleyDB_6.1/include/ -L/usr/local/BerkeleyDB_6.1/lib/ -ldb

一、库文件的搜索路径

1、在配置文件/etc/ld.so.conf中指定动态库搜索路径(需要添加其它库文件的路径,在文件的最后添加具体的路径即可 [ 如:/usr/local/lib ],添加后保存退出,然后在命令行ldconfig

2、通过环境变量LD_LIBRARY_PATH指定动态库搜索路径(当通过该环境变量指定多个动态库搜索路径时,路径之间用冒号":"分隔)

3、在编译目标代码时指定该程序的动态库搜索路径(还可以在编译目标代码时指定程序的动态库搜索路径。 这是通过gcc 的参数"-Wl,-rpath,"指定,当指定多个动态库搜索路径时,路径之间用冒号":"分隔)

4、默认的动态库搜索路径/lib

5、默认的动态库搜索路径/usr/lib

二、搜索的先后顺序是

1.编译目标代码时指定的动态库搜索路径;

2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;

3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;

4.默认的动态库搜索路径/lib;

5.默认的动态库搜索路径/usr/lib。
阅读(2708) | 评论(0) | 转发(0) |
0

上一篇:Openwrt编译过程

下一篇:Centos源码安装boost

给主人留下些什么吧!~~