1 个不稳定版本
0.1.0 | 2024年5月26日 |
---|
#68 在 #环境变量
在 tcp-stream-capture 中使用
1.5MB
32K SLoC
pcapplusplus-sys
编译PcapPlusPlus并使其库和头文件可用。
将为依赖项的build.rs
提供两个环境变量
DEP_PCAPPLUSPLUS_INCLUDE
包含PcapPlusPlus头文件的路径DEP_PCAPPLUSPLUS_LIB
包含编译后的PcapPlusPlus库的路径
要在build.rs
中使用PcapPlusPlus与cxx,请使用以下内容
let mut cpp = cxx_build::bridge("src/bridge.rs");
// Set include path for PcapPlusPlus
let pcpp_include = env::var_os("DEP_PCAPPLUSPLUS_INCLUDE")
.expect("Environment variable DEP_PCAPPLUSPLUS_INCLUDE should have been set");
cpp.include(pcpp_include);
// ...
还需要链接到PcapPlusPlus库以及可能还需要链接到libpcap
// Link to PcapPlusPlus libraries
let pcpp_lib = env::var("DEP_PCAPPLUSPLUS_LIB")
.expect("Environment variable DEP_PCAPPLUSPLUS_LIB should have been set");
println!("cargo:rustc-link-search=native={}", pcpp_lib);
println!("cargo:rustc-link-lib=static=Common++");
println!("cargo:rustc-link-lib=static=Packet++");
println!("cargo:rustc-link-lib=static=Pcap++");
// Link to libpcap
println!("cargo:rustc-link-lib=dylib=pcap");