leveldb从测试程序开始步骤分析(以及后续中 出现的是cmake内容,而不是Makefile文件的处理)

要理解这个leveldb只是一个数据库的库,

1)下载git clone https://github.com/google/leveldb.git

2)cd leveldb/ (首先需要可调试leveldb,才能阅读源代码。将leveldb中的make文件中OPT?=-g2注释去掉,原来的OPT?=-O2 -DNDEBUG这个注释起来) 。   然后执行make

3)编译完会出现out-shared  和out-static这两个文件夹,内部目前使用到的静态和动态库分别为:

 

ls leveldb/out-shared/libleveldb.so.1.20
ls leveldb/out-static/libleveldb.a

然后将这两个文件夹里面编译完成的动态和静态库分别放在linux的默认运行环境中(当然linux怎么应用第三方库,具体可以搜索,有n多种方法使用,添加只是最基本的一种方法。)当然还有不能忘记了头文件,也要放在默认的位置,如果不放在系统环境默认位置每次编译的时候可以使用-I xxx路径(是大写i, 表示头文件路径),本文将头文件leveldb/include中的leveldb文件夹整个放在/usr/include文件夹中。leveldb整个头文件文件夹放入会比单独散落的文件放入/usr/include要易于管理。

本文为了方便直接添加动态库在/usr/lib/中

# cp leveldb header file

sudo cp -r /leveldb/include/  
usr/include/

# cp lib to /usr/lib/sudo
 cp /leveldb/out-shared/libleveldb.so.1.20 
  /usr/lib/

# create link
sudo ln -s /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so.1
sudo ln -s /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so

# update lib 
cachesudo ldconfig

4)然后测试使用leveldb数据库的时候使用-g 添加可调试选项,然后开始理解leveldb代码。

上述使用方法摘抄自:https://www.jianshu.com/p/8392acf7c9db   

#include <iostream>
#include <cassert>
#include <cstdlib>
#include <string>
// 包含必要的头文件
#include <leveldb/db.h>

using namespace std;

int main(void)
{
    leveldb::DB *db = nullptr;
    leveldb::Options options;

    // 如果数据库不存在就创建
    options.create_if_missing = true;

    // 创建
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值