在我的库中,我有几个例子--(通常)每个例子都由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"));
}
1条答案
按热度按时间fhg3lkii1#
这是不可能的。这个issue解释了为什么,但是简单地说,编译脚本是用于整个机箱的。所以你可以把你的例子移到单独的机箱中。