step1、安装依赖
所有时 | Terminal + Shell + GNU CoreUtils |
下载时 | cURL |
解压时 | tar + gzip |
编译时 | cmake、ninja、gcc / GCC | Clang / LLVM |
运行时 | glibc ( libc.so 、libpthread.so 、ld-linux-x86-64.so ) |
step2、使用curl命令下载zstd
源码包 ()
curl -LO https://github.com/facebook/zstd/releases/download/v1.4.5/zstd-1.4.5.tar.gz
step3、使用tar解压zstd
源码包
tar vxf zstd-1.4.5.tar.gz
step4、进入zstd-1.4.5
目录
cd zstd-1.4.5
step5、查看zstd-1.4.5
目录中的内容
step6、使用cmake命令配置编译参数
cmake [option]... -D<变量>=<值> -S <sourceDIR> -B <buildDIR>
本软件特有的变量 | 类型 | 默认值 | 说明 |
---|---|---|---|
ZSTD_BUILD_TESTS | BOOL | OFF | 是否编译测试代码 |
ZSTD_BUILD_CONTRIB | BOOL | OFF | 是否编译贡献的代码 |
ZSTD_BUILD_PROGRAMS | BOOL | ON | 是否生成可执行程序 |
ZSTD_BUILD_STATIC | BOOL | ON | 是否生成静态库 |
ZSTD_BUILD_SHARED | BOOL | ON | 是否生成动态库 |
ZSTD_MULTITHREAD_SUPPORT | BOOL | ON | 是否支持多线程 ,根据是否支持pthread 决定 |
ZSTD_LEGACY_SUPPORT | BOOL | OFF | 是否支持过旧的功能 |
ZSTD_PROGRAMS_LINK_SHARED | BOOL | OFF | 是否让zstd 命令程序链接动态库 |
ZSTD_ZLIB_SUPPORT | BOOL | OFF | 是否使用zlib |
ZLIB_INCLUDE_DIR | PATH | 指定zlib的头文件 所在目录 | |
ZLIB_LIBRARY | FILEPATH | 指定libz.{a | so | dylib}的路径 | |
ZSTD_LZMA_SUPPORT | BOOL | OFF | 是否使用liblzma |
LIBLZMA_INCLUDE_DIR | PATH | 指定liblzma的头文件 所在目录 | |
LIBLZMA_LIBRARY | FILEPATH | 指定liblzma.{a | so | dylib}的路径 | |
ZSTD_LZ4_SUPPORT | BOOL | OFF | 是否使用lz4(liblz4 ) |
LIBLZ4_INCLUDE_DIR | PATH | 指定liblz4的头文件 所在目录 | |
LIBLZ4_LIBRARY | FILEPATH | 指定liblz4.{a | so | dylib}的路径 |
示例:
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-G Ninja \
-Wno-dev \
-S build/cmake \
-B build.d
step7、使用cmake命令进行编译
cmake --build build.d
step8、使用cmake命令进行安装
cmake --install build.d