这个问题已经在这里有一个答案:
- 如何排除被建在OS X中的文件? 2个回答
- 如何在鲁斯特使用条件编译宏示例 1回答
- 是否有所有CFG功能列表? 3个回答
是否有可能标志着某些包括只得到包括在相关的操作系统的?
例如,你可以这样做:
#[cfg(unix)] {
use std::os::unix::io::IntoRawFd;
}
#[cfg(windows)] {
// https://doc.rust-lang.org/std/os/unix/io/trait.AsRawFd.html suggests this is equivalent?
use std::os::windows::io::AsRawHandle;
}
试图编译上面的代码给我的语法错误(即error: expected item after attributes
)。
我试图修补锈病的项目,我在GitHub上发现,在Windows上编译(同时仍使其保留将其现有的目标编译的能力 - 即Unix系统及WASM)。 目前我正在运行到其中的一些文件中导入特定于平台的部分从问题std::os
(例如, use std::os::unix::io::IntoRawFd;
从而结束了在Windows破坏构建。
注:我使用的防锈稳定(1.31.1),而不是每晚。