rust cargo : how to use different features for a dep when a particular feature is enabled?

标签 rust rust-cargo

例如,我定义了 2 个没有依赖关系的特性:

[features]
default = []
py2 = []
py3 = []

基于选定的功能 (--features py3) 我想为依赖项 (cpython) 启用不同的功能:

[dependencies.cpython]
default-features = false
# features = ["python27-sys"]      I want to select this if py2 is enabled
features = ["python3-sys"]
optional = true

我可以这样做吗?或者我也可以从命令行为依赖项选择功能吗?

最佳答案

讨论了here .可以使用 / 来完成。

[features]
default = []
py2 = ["cpython", "cpython/python27-sys"]
py3 = ["cpython", "cpython/python3-sys"]
unstable = []

[dependencies.cpython]
# git = "https://github.com/dgrunwald/rust-cpython.git"
default-features = false
optional = true

我在文档或官方页面上什么也没看到。

关于 rust cargo : how to use different features for a dep when a particular feature is enabled?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41439912/

相关文章:

rust - 如何简化BigInt::from()的多种用法?

rust - 函数期望 u16 返回类型错误,类型不匹配,即使我使用 return 来提前从函数中获取值

rust - 使用人造丝并行迭代器时的同步和发送特征

rust - 是否可以停用 cargo 中的文件锁定?

rust - 如何使用 Cargo 构建多个二进制文件?

rust - 类型提示中 _ 的正确术语是什么?

rust - 如何更改 Rust 中 &Path 的第一个祖先?

rust - 如何将已经构建的 rust 库添加到 cargo build 中?

rust - 使用未声明的类型或模块 `HttpResponse` : not found in this scope

rust - 在 dependency 中关闭 default-features