编译RocksDB

make

静态库:

make -j$(nproc) static_lib

动态库:

make -j$(nproc) shared_lib

但是这俩好像只能用一个,在编译另一个之前好像要先make clean一下。相关:{% post_link Storage/'rocksdb-usr-bin-ld-memory-concurrent-arena-o-relocation-R-X86-64-TPOFF32-against-symbol-ZN7rocksdb15C' %}

cmake

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_RTTI=true
# 全部编译
make -j$(nproc)
# 只编译静态库
make -j$(nproc) rocksdb
# 只编译动态库
make -j$(nproc) rocksdb-shared

-DUSE_RTTI=trueRTTI的全称是Run-Time Type Identification。相关:

{% post_link Storage/'undefined-reference-to-typeinfo-for-rocksdb-Customizable' %}

C++ RTTI 实现原理详解

posted @ 2024-09-28 14:10  寻找繁星  阅读(9)  评论(0编辑  收藏  举报