做好自己份内事
分类: 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。