我在64位Windows计算机上使用rustc
和cargo
来编译32位应用程序。在使用稳定的工具链时,此方法可以很好地工作,但是当我尝试使用Beta工具链时,它将失败。
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
甚至将其显示为“已安装”。可能此命令仅添加稳定目标,而我找不到如何指定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
我相信它将默认将目标添加到“当前”工具链中,因此您也可以这样做:
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 --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
关于rust - 如何为特定的rustup工具链安装Rust目标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53210121/