当本机库不存在时,如何构建 FFI 箱的 docs.rs 文档?

2024-02-04

我有一个静态链接到库的“sys”箱:

货物.toml:

[package]
links = "foo-1.0"

构建.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

如何配置我的板条箱,以便在不安装库的情况下生成文档?


The docs.rs 的 about/build 页面 https://docs.rs/about/builds#detecting-docsrs提供了更多相关信息。 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");
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当本机库不存在时,如何构建 FFI 箱的 docs.rs 文档? 的相关文章

随机推荐