编译RocksDB

阅读量: searchstar 2022-04-21 19:59:17
Categories: Tags:

make

静态库:

make -j$(nproc) static_lib

动态库:

make -j$(nproc) shared_lib

但是这俩好像只能用一个,在编译另一个之前好像要先make clean一下。相关: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) librocksdb.a
# 只编译动态库
make -j$(nproc) rocksdb-shared

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

undefined reference to typeinfo for rocksdb::Customizable

C++ RTTI 实现原理详解