正如标题所述。我正在build.rs中构建一些C文件,并且需要根据Windows版本有条件地设置一些define /有条件链接库。有没有办法检测出来?
当然。例如,有nt_version crate,可用于检测Windows版本在编译时。请注意,您可能会针对不同的Windows版本“交叉编译”(例如,在Windows 7或Windows 10或类似操作系统上进行开发)。
以下是如何使用它的小片段:
use nt_version;
fn main() {
let version: &str;
match nt_version::get() {
(6, 0, _) => version = "Windows Vista",
(6, 1, _) => version = "Windows 7",
(10, _, _) => version = "Windows 10",
_ => version = "Unsupported!",
}
println!("cargo:warning={}", version);
}