Rust 货物工作区中的目标特定包裹
是否可以有条件地在工作区中包括cargo软件包,或者告诉package cargo.toml文件中的cargo忽略它们 假设我有一个包含包的工作区,它应该只在合适的平台上编译Rust 货物工作区中的目标特定包裹,rust,rust-cargo,Rust,Rust Cargo,是否可以有条件地在工作区中包括cargo软件包,或者告诉package cargo.toml文件中的cargo忽略它们 假设我有一个包含包的工作区,它应该只在合适的平台上编译 [workspace] members = [ "main", "lib_common", "lib_linux_only", "lib_macos_only", ] 所有lib包都是动态库,因此它们中的一些包不会在所有平台上构建(因为主可执行文件在运行时会知道要加载还是不加载)。但它应该
[workspace]
members = [
"main",
"lib_common",
"lib_linux_only",
"lib_macos_only",
]
所有lib包都是动态库,因此它们中的一些包不会在所有平台上构建(因为主可执行文件在运行时会知道要加载还是不加载)。但它应该“悄悄地”发生
在特定于平台的模块中,我有一个条件编译检查,如
#[cfg(not(target_os = "linux"))]
compile_error!("This feature requires Linux");
这意味着我无法运行主可执行文件,因为无法生成特定于平台的包。在这种情况下,我必须对mac上的linux软件包和linux上的mac软件包进行注释。现在似乎没有优雅的方法来实现这一点。签出此跟踪此功能请求的未解决问题。请阅读本文,然后尝试编辑您的问题: