如何为特定的 rustup 工具链安装 Rust 目标?
How to install a Rust target for a specific rustup toolchain?
我在我的 64 位 Windows 机器上使用 rustc
和 cargo
来编译 32 位应用程序。这在使用稳定工具链时工作正常,但当我尝试使用测试版工具链时它失败了。
Beta 工具链已成功安装 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
甚至显示为 "installed"。可能这个命令只添加了稳定的目标,我找不到如何指定 beta 工具链。
如何为 Beta 工具链添加另一个(非默认)目标?
阅读 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
我相信它会默认将目标添加到 "current" 工具链,因此您也可以这样做:
rustup override set beta # in your project directory
rustup target add i686-pc-windows-msvc #
cargo build # no more +beta
rustup target list
even displays it as "installed"
阅读 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
我在我的 64 位 Windows 机器上使用 rustc
和 cargo
来编译 32 位应用程序。这在使用稳定工具链时工作正常,但当我尝试使用测试版工具链时它失败了。
Beta 工具链已成功安装 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
甚至显示为 "installed"。可能这个命令只添加了稳定的目标,我找不到如何指定 beta 工具链。
如何为 Beta 工具链添加另一个(非默认)目标?
阅读 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
我相信它会默认将目标添加到 "current" 工具链,因此您也可以这样做:
rustup override set beta # in your project directory
rustup target add i686-pc-windows-msvc #
cargo build # no more +beta
rustup target list
even displays it as "installed"
阅读 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