Как установить цель Rust для определенного набора инструментов rustup? - PullRequest
0 голосов
/ 08 ноября 2018

Я использую rustc и cargo на моей 64-битной Windows-машине для компиляции 32-битного приложения.Это прекрасно работает при использовании стабильного набора инструментов, но когда я пытаюсь использовать бета-набор инструментов, он не работает.

Бета-набор инструментов был успешно установлен с rustup install beta.В папке проекта находится файл .cargo/config, содержащий следующие строки:

[build]
target = "i686-pc-windows-msvc"

[target.i686-pc-windows-msvc]
rustflags = ["-Ctarget-feature=+crt-static"]

При запуске cargo +beta build возникает следующая ошибка:

error[E0463]: can't find crate for `core`
  |
  = note: the `i686-pc-windows-msvc` target may not be installed

Я попытался запустить rustup target add i686-pc-windows-msvc исправить проблему, но это не помогло;rustup target list даже отображает его как «установленный».Возможно, эта команда только добавляет цель для стабильного, и я не смог выяснить, как указать бета-инструментарий.

Как добавить еще одну (не по умолчанию) цель для бета-инструментария?

1 Ответ

0 голосов
/ 08 ноября 2018

Прочитайте справку для rustup target add:

$ rustup target add --help
rustup-target-add
Add a target to a Rust toolchain

USAGE:
    rustup target add [OPTIONS] <target>...

FLAGS:
    -h, --help    Prints help information

OPTIONS:
        --toolchain <toolchain>    Toolchain name, such as 'stable', 'nightly', or '1.8.0'. For more information see
                                   `rustup help toolchain`

Таким образом, вы хотите:

rustup target add i686-pc-windows-msvc --toolchain beta

Я полагаю, что это добавит цель к "текущей" цепочке инструментов по умолчанию, поэтому вы также можете сделать:

rustup override set beta               # in your project directory
rustup target add i686-pc-windows-msvc #
cargo build                            # no more +beta

rustup target list даже отображает его как «установленный»

Прочитать справку для rustup target list:

$ rustup target list --help
rustup-target-list
List installed and available targets

USAGE:
    rustup target list [OPTIONS]

FLAGS:
    -h, --help    Prints help information

OPTIONS:
        --toolchain <toolchain>    Toolchain name, such as 'stable', 'nightly', or '1.8.0'. For more information see
                                   `rustup help toolchain`

Таким образом, вы хотите:

rustup target list --toolchain beta
...