Есть ли способ определить версию Windows в build.rs? - PullRequest
0 голосов
/ 12 марта 2020

Как видно из названия. Я собираю некоторые C файлы в моем build.rs, и мне нужно условно установить некоторые библиотеки определений / условных ссылок в зависимости от версии Windows. Есть ли способ обнаружить это?

1 Ответ

1 голос
/ 12 марта 2020

Конечно. Например, 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);
}
...