napi-rs 依赖三方lib的一个问题
napi-rs 是一个快速开发node addon 的rust 工具包,很多时候我们可能希望基于rust 开发的node addon, 同时集成三方c 库,此时如果在build script 中,不明确自定构建依赖的三方包那么我们在运行node addon 的时候可能会碰到莫名的问题,解决方法实际比较简单,就是明确指定下依赖的三方包
参考配置
- build.rs
extern crate napi_build;
fn main() {
println!("cargo:rustc-link-search=native=./");
println!("cargo:rustc-link-lib=dylib=easytier_ffi");
napi_build::setup();
}
说明
此问题是在尝试开发easytier_ffi node addon 时碰到的问题,调试花了不少时间(可以通过ldd, 或者otool)
参考资料
https://rust-lang.github.io/rust-bindgen/non-system-libraries.html
https://doc.rust-lang.org/cargo/reference/build-scripts.html
浙公网安备 33010602011771号