我有src/bin/linux-only.rs
做了一些只在Linux上工作的东西(例如只存在于Linux上的libc绑定)。我想将该文件排除在OS X上构建。
我开始将#[cfg(target_os = "linux")]
放在linux-only.rs
中的每个块上,但这会使代码混乱超出任何理由。
有更好的方法吗?
答案 0 :(得分:5)
在文件顶部写#![cfg(target_os = "linux")]
(注意感叹号)将适用于整个文件(只要它包含一个模块),而不仅仅是下一个块(项目)。来源:Rust reference。
修改:如果您可以将该文件移动到自己的包中,您可以利用Cargo的platform-specific dependencies。
答案 1 :(得分:0)
看起来目前还不可能。我提交了feature request