LevelDBコンパイル
一、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ファイルの内容は以下の通りです.
六、コンパイル実行結果の表示:
コマンドの実行:
g++ -o ttt Main.cpp libleveldb.a -lpthread
実行:./ttt
出力結果は次のとおりです.
Open db [email protected]
私がダウンロードしたのは: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]