leveldb系列一(安装篇)

来源:互联网 发布:阿里云重定向 编辑:程序博客网 时间:2024/06/03 13:15

在https://code.google.com/p/leveldb/上下载源码,解压之后:

1. make 生成libleveldb.a

2. sudo cp libleveldb.a  /usr/local/lib

3. sudo cp -r leveldb/include/  /usr/local/include

写个测试程序编译:

#include <iostream>#include <assert.h>#include <leveldb/db.h>#include <string.h>using namespace std;int main(){leveldb::DB *db;leveldb::Options options;options.create_if_missing = true;leveldb::Status status = leveldb::DB::Open(options, "mydb",&db);assert(status.ok());cout<<"db opened\n";status = db->Put(leveldb::WriteOptions(), "key1","chengshuguang1");assert(status.ok());string value;status = db->Get(leveldb::ReadOptions(), "key1", &value);assert(status.ok());cout<<"key1-->"<<value<<endl;status = db->Delete(leveldb::WriteOptions(), "key1");assert(status.ok());status = db->Get(leveldb::ReadOptions(), "key1", &value);if(!status.ok()){cerr<<"key1 "<<status.ToString()<<endl;}status = db->Get(leveldb::ReadOptions(), "key2", &value);//assert(status.ok());if(!status.ok()){cerr<<"key2 "<<status.ToString()<<endl;}delete db;return 0;}

 g++ test.cc -lpthread -lleveldb -o test


一开始少了-lleveldb始终报错如下

test.cc:(.text+0x1a): undefined reference to `leveldb::Options::Options()'
test.cc:(.text+0x63): undefined reference to `leveldb::DB::Open(leveldb::Options const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::DB**)'



0 0
原创粉丝点击