一、下载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 = "[email protected]"; 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
[email protected]