如何排除在OS X上构建文件?

时间:2016-09-27 19:56:42

标签: rust conditional-compilation rust-cargo

我有src/bin/linux-only.rs做了一些只在Linux上工作的东西(例如只存在于Linux上的libc绑定)。我想将该文件排除在OS X上构建。

我开始将#[cfg(target_os = "linux")]放在linux-only.rs中的每个块上,但这会使代码混乱超出任何理由。

有更好的方法吗?

2 个答案:

答案 0 :(得分:5)

在文件顶部写#![cfg(target_os = "linux")](注意感叹号)将适用于整个文件(只要它包含一个模块),而不仅仅是下一个块(项目)。来源:Rust reference

修改:如果您可以将该文件移动到自己的包中,您可以利用Cargo的platform-specific dependencies

答案 1 :(得分:0)

看起来目前还不可能。我提交了feature request