【leveldb】编译与安装(一)

对leveldb的介绍这里就不说了,最近准备对leveldb学习了解下,学习之前先编译安装能运行。

【环境】
  1. 编译开发工具vs2015。一开始用的是VS2013,但是vs2013对C++11支持不是太好,会导致leveldb编译问题,所以直接换成了vs2015。
  2. boost版本是boost_1-55-0。网上说leveldb对boost有依赖,所以就安装了,具体哪些部分依赖还有待确认。
  3. cmake。版本是cmake-3.15.4-win32-x86,直接下载安装即可。
  4. leveldb。直接去github上下载。
【编译】

vs2015和cmake直接安装即可。boost和leveldb要点步骤编译下,boost和leveldb都是编译的x86版本。

编译boost
  1. 双击运行boost目录下的bootstrap.bat
  2. 编译所需lib(date_time、thread、filesystem)。
b2 stage --toolset=msvc-12.0 --with-date_time --stagedir="F:\boost_1_55_0\stage\x86" link=static runtime-link=static threading=multi debug release
b2 stage --toolset=msvc-12.0 --with-thread --stagedir="F:\boost_1_55_0\stage\x86" link=static runtime-link=static threading=multi debug release
b2 stage --toolset=msvc-12.0 --with-filesystem --stagedir="F:\boost_1_55_0\stage\x86" link=static runtime-link=static threading=multi debug release

通过以上命令就好在路径F:\boost_1_55_0\stage\x86生成对应的debug和release版本库文件。

编译leveldb

leveldb编译也不是太复杂,通过vs2015自带的开发工具,进入到leveldb目录,本人用的是vs2015,所以编译命令中写的是Visual Studio 14,更高版本的可对应修改即可。

mkdir build
cd build
cmake -G "Visual Studio 14" ..

默认编译的是x86,要想编译x64的,上文的cmake命令换成如下:

cmake -G "Visual Studio 14 Win64" ..

编译结束之后,直接通过vs2015去build目录下打开对应的工程即可。

【测试】

这里不在重复,可直接参考此链接测试用例

【下载地址】

boost:
https://www.boost.org/users/history/version_1_55_0.html
cmake:
https://cmake.org/download/


参考链接:
https://blog.csdn.net/a731062834/article/details/85230674

`

### 如何编译 LevelDB Benchmark 为了编译并运行LevelDB的基准测试,需要确保环境已经正确配置,并按照特定流程操作。以下是详细的说明: 对于Windows环境下编译LevelDB动态库和静态库的情况,可以先通过`git clone https://github.com/google/leveldb.git`命令获取最新的源代码[^2]。 然而,当涉及到具体编译Benchmark部分时,则需要注意从GitHub克隆下来的项目可能不会自动包含所有必要的子模块,比如`googletest`和`benchmark`,因此还需要单独下载这些组件来补充缺失的部分[^4]。 完成上述准备工作之后,在Linux环境中可以通过调整CMake设置来进行交叉编译。如果遇到像ARM Linux这样的特殊平台,可能会面临些额外挑战。例如,针对较低版本的编译器可能出现兼容性问题。此时可以在`CMakeLists.txt`文件中指定合适的编译工具链路径,如: ```cmake set(CMAKE_C_COMPILER "/xxxxxx/arm-linux-gnueabihf-gcc") set(CMAKE_CXX_COMPILER "/xxxxxx/arm-linux-gnueabif-g++") ``` 另外,若在处理第三方依赖项(如`benchmark`)的过程中遇到了错误提示:“Failed to determine the source files for the regular expression backend”,则应考虑手动编辑对应的`CMakeLists.txt`文件以解决问题[^5]。 最终,在解决了所有的编译障碍后,应当能够顺利构建出所需的Benchmark程序。通常情况下,这步骤会涉及清理之前的构建产物并通过`make`指令重新生成目标二进制文件。如果有任何测试有关的目标无法正常工作,可以从项目的`CMakeFiles`目录下的相应Makefile中移除它们,从而绕过这些问题继续前进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值