我尝试在 Cygwin 上安装 Rust,但无法与 mingw 链接。现在我想用 Msys2 安装它。我已经安装了 Msys2 和 Mingw。我试着关注 this wiki page但我在 2 号迷路了:
Download and install Rust+Cargo using the installer but be sure to disable the Linker and platform libraries option.
它指的是 the install page 上的“rustup-init.exe”吗? ?我应该双击运行这个文件还是从 Msys2 运行它?我尝试从 Msys2 运行并获得选项:
1) Proceed with installation (default) 2) Customize installation 3) Cancel installation
我不知道下一步该做什么。
最佳答案
您链接到的在 Windows 上使用 Rust 页面是在 rustup 将安装程序替换为安装 Rust 的默认选项之前的日期。 Installers仍然可用,但如果可能,您应该使用 rustup,因为它可以轻松更新和同时使用多个工具链(例如稳定版、测试版和夜间版)。如果您必须使用安装程序,只需选择 x86_64-pc-windows-gnu
安装程序,然后按照 在 Windows 上使用 Rust 页面中的步骤操作。如果您正在使用 rustup,请继续阅读。
默认情况下,Windows 上的 rustup 安装针对 MSVC 工具链的编译器和工具,而不是 GNU/MinGW-w64 工具链。在初始菜单中,选择 2) 自定义安装。当询问主机三元组时,输入 x86_64-pc-windows-gnu
。然后对其他问题进行选择,然后继续安装。
注意:如果 rustup 已经安装,那么重新运行 rustup-init 将不会实际安装请求的工具链。相反,如果您已经拥有基于 MSVC 的工具链,请运行 rustup toolchain install stable-x86_64-pc-windows-gnu
。然后运行 rustup default stable-x86_64-pc-windows-gnu
将基于 GNU 的工具链设置为默认值。
Rustup 将自动安装 MinGW 链接器和平台库(作为 rust-mingw
组件的一部分)并拒绝让您删除它们。如果您更喜欢使用随 MSYS2 安装的 MinGW 链接器和库,则需要创建一个 .cargo/config
文件(在您的配置文件目录中,即 C:\Users\you\.cargo\config
,或者如果此配置特定于项目,则在您的项目目录中)。该文件的内容可能如下所示:
[target.x86_64-pc-windows-gnu]
linker = "C:\\msys2\\mingw64\\bin\\gcc.exe"
ar = "C:\\msys2\\mingw64\\bin\\ar.exe"
Rustup 将修改 PATH
环境变量,除非你告诉它不要这样做。但是,MSYS2 在启动时默认重置 PATH
,因此当您尝试从 MSYS2 shell 调用 cargo
或 rustc
时,它可能找不到它。您需要编辑 .profile
/.bash_profile
脚本以正确设置 PATH
(您需要在 /c/Users/yourname/.cargo/bin:
到 PATH
).
关于windows - 使用 Msys2 为 mingw 安装 Rust 和 Cargo 的分步说明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47379214/