rockdb编译

git clone https://github.com/facebook/rocksdb.git
//如果上面的命令报错无法连接,则换成下面这句
git clone git://github.com/facebook/rocksdb.git

然后按照这个教程安装依赖项gflags和压缩软件 RocksDB简单使用
在rocksdb父目录下使用make编译rocksdb

//静态编译,生成.a文件
make static_lib
//动态编译,生成.so.xxx文件,xxx是数字,根据你的rocksdb版本号生成
make shared_lib
//编译所有的静态库、tools、测试单元
make all

注意:两次make之间需要使用make clean

cp -r include/ /usr/include   //这句直接复制cp librocksdb.so.6.28 /usr/lib     //.so后面的数字是根据你版本生成的
ln -s /usr/lib/librocksdb.so.6.28 /usr/lib/librocksdb.so.6
ln -s /usr/lib/librocksdb.so.6 /usr/lib/librocksdb.soldconfig //使前述更改生效mkdir mytest //rocksdb文件夹下创建一个自己用于测试的文件夹
cd mytest
sudo vim mytest.cpp

mytest.cpp内容如下

#include <cstdio>
#include <string>
#include "rocksdb/db.h"
#include "rocksdb/slice.h"
#include "rocksdb/options.h"
using namespace std;
using namespace rocksdb;
const std::string PATH = "/tmp/rocksdbResult";
int main(){DB* db;Options options;options.create_if_missing = true;Status status = DB::Open(options, PATH, &db);assert(status.ok());Slice key("foo");Slice value("bar");std::string get_value;status = db->Put(WriteOptions(), key, value);if(status.ok()){status = db->Get(ReadOptions(), key, &get_value);if(status.ok()){printf("get %s\n", get_value.c_str());printf("get success\n"); }else{printf("get failed\n"); }}else{printf("put failed\n");}delete db;
}

在mytest文件夹中执行以下命令

g++ -std=c++11 -o rocksdbtest rocksdbtest.cpp -lpthread -lrocksdb -ldl
./rocksdbtest

RocksDB编译成功

db_bench安装
rocksdb: Benchmarking tools

问题记录

  • 在两次make编译之间需要使用make clean命令,否则会出现 /usr/bin/ld: final link failed: bad value collect2: error: ld returned 1 exit status
  • 不在root权限下时,使用sudo vim创建和编辑文件,否则会很麻烦。会出现不可写入,或者vscode远程编辑文件时拒绝访问。
 Error: EACCES: permission denied, unlink '/usr/local/bin/jhipster' when installing generator-jhipster library node with npm

Ubuntu20.04下编译测试RocksDB以及遇到的问题记录相关推荐

  1. Ubuntu20.04下编译Aseprite

    原文传送门. Aseprite是一款像素画制作软件,不打折时在steam上的售价为 70 元.同时Aseprite也是开源的,并且使用其源代码编译出的软件,若不进行分发,是允许个人进行免费使用的. 本 ...

  2. Ubuntu20.04下的编译与运行LeGO-LOAM【问题解决】

    LeGO-LOAM在Ubuntu20.04下编译和运行的问题 一.OpenCV 版本问题 二.pcl问题 1. C++14环境 2. 报错:'Index' is not a member of 'Ei ...

  3. LeGO-LOAM:Ubuntu20.04下的编译与运行

    LeGO-LOAM在Ubuntu20.04下的编译与运行 一.源码及数据集下载 二.安装gtsam 三.建立ROS工作空间 四.LeGO-LOAM的编译 五.LeGO-LOAM的运行 六.可能会遇到的 ...

  4. LIO-SAM:Ubuntu20.04下的编译与运行

    LIO-SAM在Ubuntu20.04下的编译与运行 !!阅读须知!! 一.源码及数据集下载 二.LIO-SAM的编译 三.LIO-SAM的运行 四.可能会遇到的问题 1. 运行问题 2. rviz问 ...

  5. Ubuntu20.04下配置深度学习环境

    文章目录 一.安装Anaconda 1.安装Anaconda 2.区分ubuntu系统中自带的python与Anaconda中带的python 3.创建一个深度学习环境 二.安装cuda与cudnn ...

  6. DELF: DEep Local Features在Ubuntu20.04下安装配置

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 DELF: DEep Local Features在Ubuntu20.04下安装配置 一.安装Ubuntu20.04后配置深度学习环境 ...

  7. Ubuntu20.04下安装 R 及 CRAN 软件包(命令行操作)

    文章目录 前言 一.R 的安装 1. 确定软件包版本 2. 安装CRAN中的R二进制文件 3. 安装 R 及其依赖项 4. 检查安装情况 二.添加CRAN软件包 1. 添加当前的 R4.1.0 或更高 ...

  8. Ubuntu20.04下FabricV1.1.0 Fabcar运行及相关问题解决

    Ubuntu20.04下FabricV1.1.0 Fabcar运行及相关问题解决 Ubuntu20.04下FabricV1.1.0 Fabcar运行及相关问题解决 太长不看版本--要想成功运行Fabc ...

  9. Linux下编译leveldb报错,leveldb ubuntu 11.04下编译失败问题

    我在最新的ubuntu11.04下编译leveldb的时候发现问题,但是在更早前的这个版本很正常: yufeng@yufeng-laptop:/usr/src/leveldb$ make g++ -c ...

最新文章

  1. OpenCV(二)逐像素的图像复制、图像边缘检测(自实现和API实现)
  2. AI回溯过去解决复杂任务 |《自然》论文
  3. java jdbc连接数据库的设计
  4. 笔记本电池电量校正方法(转CSDN)
  5. WORD中怎么把文字转换成表格
  6. Kubernetes容器集群 - harbor仓库高可用集群部署说明
  7. Java 字符串分割陷阱
  8. 从集合中选出一些元素组成子集合,使得这些子集合符合某种约束
  9. Netty工作笔记0054---EventLoop组件
  10. 速锐得驾培驾考免接线OBD数据价值及发展思路
  11. 企业生存与发展的前提是安全
  12. 计算机主机与显示器的接口类型,电脑显示器接口类型哪个好?VGA、DVI、HDMI、DP接口区别对比科普...
  13. publish nacos metadata failed
  14. 李在福羽毛球教学经典视频汇总31集
  15. 计算机表格 求差,excel表格怎么求差多个
  16. android谷歌dns设置在哪,安卓手机怎么设置DNS Android手机修改DNS图文教程
  17. 一文了解常用效率记笔记软件
  18. qlikview连接数据库
  19. java读写word文档,完美解决方案
  20. 如何把flv转换成mp3格式 音频转换器哪个好

热门文章

  1. 2017春节返校后工作
  2. R语言使用ggplot2包和maps包可视化世界地图(world map)、自定义填充色为浅灰色lightgray、背景为白色
  3. tensorflow NAN常见原因和解决方法
  4. 原创 - 如何观察我们的大脑?脑成像技术简介
  5. 【AppCan 开发者第一期】Samlee:西北青年的移动开发梦
  6. “上下求索”的人工智能市场了发生什么变化?
  7. MySQL字段类型对应Java字段
  8. 【图像基础】RAW格式图像简介
  9. 《“QQ尾巴病毒”核心技术的实现》日文版
  10. 【Echart Bug记录】z / z2 / zlevel of displayable is invalid, which may cause unexpected errors