一、下载LevelDB包
我下载的是:leveldb-1.4.0.tar.gz
二、我在Ubunt上编译
解压之后进入目录:leveldb-1.4.0
执行:make,生成了: libleveldb.a
三、拷贝相应头文件到:/usr/local/include目录(需要root权限)
执行命令:
sudo cp -r include/leveldb /usr/local/include
四、新建测试目录:
cd ~
mkdir test
拷贝 libleveldb.a、db.h 到test目录
cd ~/leveldb-1.4.0
cp include/leveldb/db.h ~/test
cp libleveldb.a ~/test
五、进入test进行测试:
cd ~/test
新建文件:Main.cpp 文件内容如下:
#include <assert.h>
#include <iostream>
#include "db.h"
using namespace std;
int main(int argc,char * argv[])
{
leveldb::DB* db;
leveldb::Options options;
options.create_if_missing = true;
std::string dbpath = "tdb";
leveldb::Status status = leveldb::DB::Open(options, dbpath, &db);
assert(status.ok());
std::string key1 = "grz";
std::string key2 = "grz-rt@63.com";
cout<<"Open db OK"<<std::endl;
std::string value;
leveldb::Status s ;
s = db->Put(leveldb::WriteOptions(), key1, key2);/*key1和key2作为一对key-value对插入*/
s = db->Get(leveldb::ReadOptions(), key1, &value);/*根据key返回对应的value值*/
cout<<value<<std::endl;
delete db;/*删除数据库*/
return 0;
}
六、编译运行查看结果:
执行命令:
g++ -o ttt Main.cpp libleveldb.a -lpthread
运行:./ttt
输出结果如下:
Open db OK
grz-rt@163.com