是否可以有特定于示例的 build.rs 文件?

C.M*_*.M. 5 rust rust-cargo

x<N>.rs在我的库中,我有几个示例 - (通常)每个示例都由目录中的单个文件表示examples

一个示例使用一个.proto文件——该文件需要在(所述示例的)构建期间进行编译,并且它生成的输出由示例本身使用。

我在我的中尝试过这个Cargo.toml

[[example]]
name = "x1"
path = "examples/x1/main.rs"
build = "examples/x1/build.rs"
Run Code Online (Sandbox Code Playgroud)

但是build当我跑步时键被忽略cargo build --example x1

是否可以有特定于示例的build.rs文件?

如果不是——处理这种情况的正确方法是什么?

编辑:我最终.proto在板条箱中处理该文件build.rs(即使不需要构建该板条箱)并在示例中使用工件,如下所示:

pub mod my_proto {
    include!(concat!(env!("OUT_DIR"), "/my_proto.rs"));
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*uze 2

这不可能。这个问题解释了原因,但简而言之,构建脚本用于整个箱子。所以你可以将你的示例移动到单独的箱子中。