Dependencies 如何使本地依赖依赖依赖于Cargo中的特性?
考虑到这个在子目录中使用本地板条箱的小型库,根据是否启用了某个功能,我如何使其中一个依赖项成为可选的Dependencies 如何使本地依赖依赖依赖于Cargo中的特性?,dependencies,rust,rust-cargo,Dependencies,Rust,Rust Cargo,考虑到这个在子目录中使用本地板条箱的小型库,根据是否启用了某个功能,我如何使其中一个依赖项成为可选的 [package] name = "image_load" description = "Small wrapper for image reading API's." version = "0.1.0" [features] default = ["use_png"] [dependencies] [dependencies.image_load_ppm] path = "ppm"
[package]
name = "image_load"
description = "Small wrapper for image reading API's."
version = "0.1.0"
[features]
default = ["use_png"]
[dependencies]
[dependencies.image_load_ppm]
path = "ppm"
# How to make this build _only_ when 'use_png' feature is enabled?
[dependencies.image_load_png]
path = "png"
当我阅读时,这显示了如何拥有可选的外部依赖项。在上面的例子中,我使用的是一个本地子目录,我想根据一个特性构建它,或者不构建它
如何使
image\u load\u png
仅在启用use\u png
功能时生成。这可以通过添加以下内容来完成:
[package]
name = "image_load"
version = "0.1.0"
description = "Small wrapper for image reading API's."
[features]
default = ["use_png"]
use_png = ["image_load_png"] # <-- new line
[dependencies]
[dependencies.image_load_ppm]
path = "ppm"
[dependencies.image_load_png]
path = "png"
optional = true # <-- new line
[软件包]
name=“图像加载”
version=“0.1.0”
description=“用于图像读取API的小包装。”
[专题]
默认值=[“使用\u png”]
使用_png=[“image_load_png”]#标记为可选双as功能的依赖项。但是,如果您想要一个具有不同名称的功能,则必须
例如,如果将依赖项image\u load\u png
标记为可选,则仅当启用了image\u load\u png
功能时才会编译image\u load\u png
。您可以像测试任何其他功能一样,在Rust代码中测试正在启用的功能
[dependencies.image_load_png]
path = "png"
optional = true
您可以查看。我读了这一页,但没有看到这方面的示例。它在注释下,列出了所有可选的依赖项。@Shepmaster,是的,我读过这个。不同之处在于我的依赖关系是本地的,而不是可选的外部板条箱,语法上的差异让我感到困惑。更新问题以明确这一点。
[dependencies.image_load_png]
path = "png"
optional = true