Ubuntu20.04下编译测试RocksDB以及遇到的问题记录
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以及遇到的问题记录相关推荐
- Ubuntu20.04下编译Aseprite
原文传送门. Aseprite是一款像素画制作软件,不打折时在steam上的售价为 70 元.同时Aseprite也是开源的,并且使用其源代码编译出的软件,若不进行分发,是允许个人进行免费使用的. 本 ...
- Ubuntu20.04下的编译与运行LeGO-LOAM【问题解决】
LeGO-LOAM在Ubuntu20.04下编译和运行的问题 一.OpenCV 版本问题 二.pcl问题 1. C++14环境 2. 报错:'Index' is not a member of 'Ei ...
- LeGO-LOAM:Ubuntu20.04下的编译与运行
LeGO-LOAM在Ubuntu20.04下的编译与运行 一.源码及数据集下载 二.安装gtsam 三.建立ROS工作空间 四.LeGO-LOAM的编译 五.LeGO-LOAM的运行 六.可能会遇到的 ...
- LIO-SAM:Ubuntu20.04下的编译与运行
LIO-SAM在Ubuntu20.04下的编译与运行 !!阅读须知!! 一.源码及数据集下载 二.LIO-SAM的编译 三.LIO-SAM的运行 四.可能会遇到的问题 1. 运行问题 2. rviz问 ...
- Ubuntu20.04下配置深度学习环境
文章目录 一.安装Anaconda 1.安装Anaconda 2.区分ubuntu系统中自带的python与Anaconda中带的python 3.创建一个深度学习环境 二.安装cuda与cudnn ...
- DELF: DEep Local Features在Ubuntu20.04下安装配置
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 DELF: DEep Local Features在Ubuntu20.04下安装配置 一.安装Ubuntu20.04后配置深度学习环境 ...
- Ubuntu20.04下安装 R 及 CRAN 软件包(命令行操作)
文章目录 前言 一.R 的安装 1. 确定软件包版本 2. 安装CRAN中的R二进制文件 3. 安装 R 及其依赖项 4. 检查安装情况 二.添加CRAN软件包 1. 添加当前的 R4.1.0 或更高 ...
- Ubuntu20.04下FabricV1.1.0 Fabcar运行及相关问题解决
Ubuntu20.04下FabricV1.1.0 Fabcar运行及相关问题解决 Ubuntu20.04下FabricV1.1.0 Fabcar运行及相关问题解决 太长不看版本--要想成功运行Fabc ...
- Linux下编译leveldb报错,leveldb ubuntu 11.04下编译失败问题
我在最新的ubuntu11.04下编译leveldb的时候发现问题,但是在更早前的这个版本很正常: yufeng@yufeng-laptop:/usr/src/leveldb$ make g++ -c ...
最新文章
- OpenCV(二)逐像素的图像复制、图像边缘检测(自实现和API实现)
- AI回溯过去解决复杂任务 |《自然》论文
- java jdbc连接数据库的设计
- 笔记本电池电量校正方法(转CSDN)
- WORD中怎么把文字转换成表格
- Kubernetes容器集群 - harbor仓库高可用集群部署说明
- Java 字符串分割陷阱
- 从集合中选出一些元素组成子集合,使得这些子集合符合某种约束
- Netty工作笔记0054---EventLoop组件
- 速锐得驾培驾考免接线OBD数据价值及发展思路
- 企业生存与发展的前提是安全
- 计算机主机与显示器的接口类型,电脑显示器接口类型哪个好?VGA、DVI、HDMI、DP接口区别对比科普...
- publish nacos metadata failed
- 李在福羽毛球教学经典视频汇总31集
- 计算机表格 求差,excel表格怎么求差多个
- android谷歌dns设置在哪,安卓手机怎么设置DNS Android手机修改DNS图文教程
- 一文了解常用效率记笔记软件
- qlikview连接数据库
- java读写word文档,完美解决方案
- 如何把flv转换成mp3格式 音频转换器哪个好
热门文章
- 2017春节返校后工作
- R语言使用ggplot2包和maps包可视化世界地图(world map)、自定义填充色为浅灰色lightgray、背景为白色
- tensorflow NAN常见原因和解决方法
- 原创 - 如何观察我们的大脑?脑成像技术简介
- 【AppCan 开发者第一期】Samlee:西北青年的移动开发梦
- “上下求索”的人工智能市场了发生什么变化?
- MySQL字段类型对应Java字段
- 【图像基础】RAW格式图像简介
- 《“QQ尾巴病毒”核心技术的实现》日文版
- 【Echart Bug记录】z / z2 / zlevel of displayable is invalid, which may cause unexpected errors