levelDB编译
1 源码下载
git clone https://github.com/google/leveldb.git
2 编译安装
cd leveldb
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .
在build目录生成静态库libleveldb.a, 将libleveldb.a复制到/usr/local/lib/, 相关头文件复制到/usr/local/include/
3 编译遇到问题
(1) CMake Error at CMakeLists.txt:308 (set_property):
set_property could not find TARGET gtest. Perhaps it has not yet been
created.
(2) ld: library not found for -lbenchmark
clang: error: linker command failed with exit code 1 (use -v to see invocation)
原因:最新的commit支持了googletest和benchmark, 但只是cmake里面加了googletest和benchmark,并没有在项目里加入第三方库;
解决方法1:
googletest和benchmark作为leveldb的子模块:
git submodule update --init --recursive
解决方法2:
cd third_party
git clone https://github.com/google/googletest.git
git clone https://github.com/google/benchmark.git
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至yj.mapple@gmail.com
文章标题:levelDB编译
文章字数:182
本文作者:melonshell
发布时间:2021-01-17, 23:51:53
最后更新:2021-02-08, 14:39:41
原始链接:http://melonshell.github.io/2021/01/17/src_leveldb_compile/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。