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

byqmnocz  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(221)

在我的库中,我有几个例子--(通常)每个例子都由examples目录中的一个x<N>.rs文件表示。
一个例子使用了一个.proto文件--这个文件需要在(所述例子的)构建过程中编译,并且它生成的输出被例子本身使用。
我已经在我的Cargo.toml中尝试过了:

[[example]]
name = "x1"
path = "examples/x1/main.rs"
build = "examples/x1/build.rs"

但是当我运行cargo build --example x1时,build键被忽略
是否可以有特定于示例的build.rs文件?
如果不是--处理这种情况的正确方法是什么?

**编辑:**我最终在crate的build.rs中处理了这个.proto文件(尽管构建这个crate并不需要它),并在示例中使用了这样的工件:

pub mod my_proto {
    include!(concat!(env!("OUT_DIR"), "/my_proto.rs"));
}
fhg3lkii

fhg3lkii1#

这是不可能的。这个issue解释了为什么,但是简单地说,编译脚本是用于整个机箱的。所以你可以把你的例子移到单独的机箱中。

相关问题