How do I exclude a file from being built on OS X?

故事扮演 提交于 2019-12-01 21:33:39

问题


I have src/bin/linux-only.rs which does some things which work on Linux only (e.g. libc bindings which only exist on Linux). I want to exclude that file from being built on OS X.

I started putting #[cfg(target_os = "linux")] on every block in linux-only.rs but that is cluttering up the source code beyond any reason.

Is there a nicer way to do this?


回答1:


Writing #![cfg(target_os = "linux")] (note the exclamation mark) at the top of the file will work for the whole file (as long as it contains a single module), not just for the next block (item). Source: Rust reference.

Edit: if you can move that file into its own crate, you could take advantage of Cargo's platform-specific dependencies.




回答2:


it looks like that's currently not possible. I filed a feature request



来源:https://stackoverflow.com/questions/39733252/how-do-i-exclude-a-file-from-being-built-on-os-x

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!