如何在`Cargo.toml`中指定目标操作系统?

3

我想写一个只能在linux上运行的crate。我做了一些搜索,但所有的答案都只是讨论:

  1. 在源代码中添加#[cfg(target_os = xxx)]
  2. Cargo.toml中添加[target.'cfg(target_os = "linux")'.dependencies]

但在我的情况下,这个crate在其他平台完全无法工作,所以我不想在代码中添加#[cfg]。如果这样做,我需要将其添加到我的每一段代码中。

有没有一种简单的方法可以使我的代码只在特定的平台上编译?

1个回答

4

您可以有条件地包含对compile_error的调用:

#[cfg(not(target_os = "linux"))]
compile_error!("only linux is supported");

这个只需要出现在你的代码中一次;我建议它放在根模块的开头附近。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接