我的理解(例如,参见这个问题Define features for Cargo profile in Cargo.toml),是不可能根据货物配置文件设置功能。
然而,“profile-rustflags”有一个不稳定的货物实现https://github.com/rust-lang/cargo/issues/10271,它允许根据配置文件设置 rustflags。 rustflags 可以包含
--cfg feature="foo"
,因此这似乎允许根据配置文件间接设置功能。
我的理解正确吗?
嗯...差不多了。
货物功能不仅仅激活
cfg
。例如,他们还为构建脚本发送 CARGO_FEATURE_<name>
环境变量,这是你无法做到的。它们还启用可选的依赖项。
启用
cfg
而不实际激活货物功能可能会产生奇怪的后果。不要这样做。