我想写一个只能在linux
上运行的crate。我做了一些搜索,但所有的答案都只是讨论:
- 在源代码中添加
#[cfg(target_os = xxx)]
- 在
Cargo.toml
中添加[target.'cfg(target_os = "linux")'.dependencies]
但在我的情况下,这个crate在其他平台完全无法工作,所以我不想在代码中添加#[cfg]
。如果这样做,我需要将其添加到我的每一段代码中。
有没有一种简单的方法可以使我的代码只在特定的平台上编译?
我想写一个只能在linux
上运行的crate。我做了一些搜索,但所有的答案都只是讨论:
#[cfg(target_os = xxx)]
Cargo.toml
中添加[target.'cfg(target_os = "linux")'.dependencies]
但在我的情况下,这个crate在其他平台完全无法工作,所以我不想在代码中添加#[cfg]
。如果这样做,我需要将其添加到我的每一段代码中。
有没有一种简单的方法可以使我的代码只在特定的平台上编译?
您可以有条件地包含对compile_error
的调用:
#[cfg(not(target_os = "linux"))]
compile_error!("only linux is supported");