用于切换相关板条箱功能的功能

时间:2020-07-18 19:01:18

标签: rust rust-cargo conditional-compilation rust-crates

我对Rust有点陌生,遇到了一个问题,我想在我的板条箱中添加一个功能,该功能指定应包含从属板条箱的哪些功能。

更具体地说,我正在使用image-rs板条箱,该库应支持defines features的图像格式。

我想在我的板条箱中添加一项功能,该功能指定要编译image-rs条板箱的其他图像格式功能。例如:

tareas

是否支持?那就太好了;我希望默认值包含来自image-rs板条箱的常用图像格式,但是选择加入更多图像格式(由于所有额外的解码器和编码器,以更大的二进制文件和更长的编译时间为代价)。

谢谢!

1 个答案:

答案 0 :(得分:2)

cargo book中所述,您可以使用crate/feature来引用依赖项的功能。因此,您的示例如下所示:

# Cargo.toml
[dependencies]
image = { version = "^0.23.6", features = ["png", "jpeg"] }

[features]
extra-image-formats = [ "image/jpeg", "image/png", "image/gif", "image/webp" ]