Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 货物工作区中的目标特定包裹_Rust_Rust Cargo - Fatal编程技术网

Rust 货物工作区中的目标特定包裹

Rust 货物工作区中的目标特定包裹,rust,rust-cargo,Rust,Rust Cargo,是否可以有条件地在工作区中包括cargo软件包,或者告诉package cargo.toml文件中的cargo忽略它们 假设我有一个包含包的工作区,它应该只在合适的平台上编译 [workspace] members = [ "main", "lib_common", "lib_linux_only", "lib_macos_only", ] 所有lib包都是动态库,因此它们中的一些包不会在所有平台上构建(因为主可执行文件在运行时会知道要加载还是不加载)。但它应该

是否可以有条件地在工作区中包括cargo软件包,或者告诉package cargo.toml文件中的cargo忽略它们

假设我有一个包含包的工作区,它应该只在合适的平台上编译

[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软件包进行注释。

现在似乎没有优雅的方法来实现这一点。签出此跟踪此功能请求的未解决问题。

请阅读本文,然后尝试编辑您的问题: