我有一个静态链接到库的“sys”包:
cargo .toml:
[package]
links = "foo-1.0"
build.rs:
fn main() {
println!("cargo:rustc-link-lib=dylib=foo-1.0");
}
当我发布包时,docs.rs 无法生成文档,因为没有安装 libfoo:
error: failed to run custom build command for `foo-sys v0.0.1`
Caused by:
process didn't exit successfully: `/home/cratesfyi/cratesfyi/debug/build/foo-sys-f4bd3ee95677500b/build-script-build` (exit code: 1)
--- stderr
`"pkg-config" "--libs" "--cflags" "foo-1.0 >= 1.0"` did not exit successfully: exit code: 1
--- stderr
如何配置我的 crate,以便在不安装库的情况下生成文档?
最佳答案
about/build page of docs.rs提供更多相关信息。 docs.rs 将设置一个环境变量 DOCS_RS
。
可以在 build.rs
中禁用链接:
fn main() {
if std::env::var("DOCS_RS").is_ok() {
println!("cargo:rustc-link-lib=dylib=foo-1.0");
}
}
关于rust - 当 native 库不存在时,如何构建 FFI crate 的 docs.rs 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57158261/