LevelDB编译

一、下载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]

猜你喜欢

转载自grzrt.iteye.com/blog/1520143