LevelDBコンパイル

1617 ワード

一、LevelDBパッケージのダウンロード
私がダウンロードしたのは:leveldb-1.4.0.tar.gz
二、私はUbuntでコンパイルします.
解凍してディレクトリに入る:leveldb-1.4.0
実行:make、生成:libleveveldb.a
三、対応するヘッダファイルを:/usr/local/includeディレクトリにコピーする(root権限が必要)
コマンドの実行:
    sudo cp -r include/leveldb/usr/local/include
 
四、新しいテストディレクトリ:
   cd ~
   mkdir  test
コピー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 [email protected]