从github上直接clone到当前系统中 github上给出的命令如下 在执行cmake的时候出现了一系列问题,首先是cmake的版本不够,解决方法参考之前写的这篇 升级指定版本cmake的方法https://blog.csdn.net/qq_34612223/article/details/106526545 随后再次输入#sudo cmake -DCMAKE_BUILD_TYPE=Release … && cmake –build .出现下图问题 可以看到build中已有makefile文件 在CentOS通过如下指令创建一个.cpp文件(写权限不够加sudo) (ps:i进入写模式,esc退出写模式,按下”:”将光标定位到最后一行,wq保存退出) 输入 再次输出编译指令
CentOS下安装levelDB填坑总结
1. 下载levelDB
git clone --recurse-submodules https://github.com/google/leveldb.git
PS:github上的没有makefile文件,无法直接make,后面的一系列问题也是因此产生的2. 配置cmake
cd leveldb mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .
3. 配置levelDB
发现权限不够,将原来的一句指令改成两句分别输入sudo cmake -DCMAKE_BUILD_TYPE=Release .. sudo cmake --build .
4. 测试demo
vi demo.cpp
随后通过一个demo进行测试#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 = "test_key"; std::string value = "test_value"; 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 << "nvalue=" << get << std::endl; else std::cout << "failed to find the key!" << std::endl; delete db; return 0; }
g++ -o demo demo.cpp -pthread -lleveldb -std=c++11
提示缺少leveldb/db.h文件
需要将leveldb/build/目录下生成的一个静态库libleveldb.a复制到/usr/local/lib/, 并把leveldb相关的头文件复制到/usr/local/include/,可通过如下指令cp build/libleveldb.a /usr/local/lib/ cp -r include/leveldb/ /usr/local/include/
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算