Linux环境下levelDB源码编译与安装

1、下载源码并编译

git clone https://github.com/google/leveldb.git

cd leveldb

//编译源码的时候需要安装cmake,并且版本需要大于3.9,我们选择下载安装包的方式安装
//文件下载解压
wget https://cmake.org/files/v3.12/cmake-3.12.2-Linux-x86_64.tar.gz

//解压

  tar zxvf cmake-3.12.2-Linux-x86_64.tar.gz

 

创建软链接

注: 文件路径是可以指定的, 一般选择在/opt 或 /usr 路径下, 这里选择/opt
mv cmake-3.12.2-Linux-x86_64 /opt/cmake-3.12.2
ln -sf /opt/cmake-3.12.2/bin/*  /usr/bin/

//到此cmake环境配置完成,接下来可以编译代码

cd leveldb

mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .

 

2、测试代码

demo.cc

#include <cassert>
#include <iostream>
#include <string>
#include <leveldb/db.h>

int main() {
leveldb::DB* db;
leveldb::Options options;
options.create_if_missing = true;
leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb", &db);
assert(status.ok());

std::string key = "apple";
std::string value = "A";
std::string get;

leveldb::Status s = db->Put(leveldb::WriteOptions(), key, value);

if (s.ok()) s = db->Get(leveldb::ReadOptions(), key, &get);
if (s.ok()) std::cout << "读取到的与(key=" << key << ")对应的(value=" << get << ")" << std::endl;
else std::cout << "读取失败!" << std::endl;

delete db;

return 0;
}

 

g++ -o demo demo.cc -pthread -lleveldb -std=c++11
注意:一定要加-lpthread,因为leveldb有用到线程相关调用。
./demo
读取到的与(key=apple)对应的(value=A)


原文链接: https://www.cnblogs.com/zhousong918/p/10904027.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    Linux环境下levelDB源码编译与安装

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/295480

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 下午4:57
下一篇 2023年2月15日 下午4:58

相关推荐