step0、参考
step1、安装依赖
所有时 | Terminal + Shell + GNU CoreUtils |
下载时 | cURL |
解压时 | tar + gzip |
编译时 | cmake、ninja、gcc / GCC | Clang / LLVM、flex、bison |
运行时 | glibc ( libc.so 、libdl.so 、ld-linux-x86-64.so ) |
step2、使用curl命令下载libpcap
源码包 ()
curl -LO https://www.tcpdump.org/release/libpcap-1.9.1.tar.gz
step3、使用tar解压libpcap
源码包
tar vxf libpcap-1.9.1.tar.gz
step4、进入libpcap-1.9.1
目录
cd libpcap-1.9.1
step5、查看libpcap-1.9.1
目录中的内容
step6、使用cmake命令配置编译参数
cmake [option]... -D<变量>=<值> -S <sourceDIR> -B <buildDIR>
本软件特有的变量 | 类型 | 默认值 | 说明 |
---|---|---|---|
LEX_EXECUTABLE | FILEPATH | 指定flex | |
YACC_EXECUTABLE | FILEPATH | 指定bison | |
BUILD_SHARED_LIBS | BOOL | ON | 是否生成动态库 。默认只生成静态库 |
BDEBUG | BOOL | OFF | 是否生成debug符号信息 |
INET6 | BOOL | ON | 是否支持ipv6 |
ENABLE_REMOTE | BOOL | OFF | 是否支持远程 |
DISABLE_USB | BOOL | OFF | 是否支持USB Sniffer |
DISABLE_SEPTEL | BOOL | OFF | 是否支持Septel Card |
DISABLE_RDMA | BOOL | OFF | 是否支持RDMA sniffing |
DISABLE_NETMAP | BOOL | OFF | 是否支持netmap |
DISABLE_DBUS | BOOL | ON | 是否支持dbus |
DISABLE_BLUETOOTH | BOOL | OFF | 是否支持Bluetooth sniffing |
DISABLE_DAG | BOOL | OFF | 是否支持Endace DAG |
DAG_INCLUDE_DIR | PATH | 设置Endace DAG的头文件 搜索路径 | |
DAG_LIBRARY | FILEPATH | 设置Endace DAG的库文件 搜索路径 | |
DAGCONF_LIBRARY | FILEPATH | 设置Endace DAG的库文件 搜索路径 | |
DISABLE_TC | BOOL | OFF | 是否支持Riverbed TurboCap |
TC_INCLUDE_DIR | PATH | 设置Riverbed TurboCap的头文件 搜索路径 | |
TC_LIBRARY | FILEPATH | 设置Riverbed TurboCap的库文件 搜索路径 | |
DISABLE_SNF | BOOL | OFF | 是否支持Myricom SNF |
SNF_INCLUDE_DIR | PATH | 设置Myricom SNF的头文件 搜索路径 | |
SNF_LIBRARY | FILEPATH | 设置Myricom SNF的库文件 搜索路径 |
示例:
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-G Ninja \
-Wno-dev \
-S . \
-B build.d
step7、使用cmake命令进行编译
cmake --build build.d
step8、使用cmake命令进行安装
cmake --install build.d