windows安装rust
windows安装rust
- 编译环境准备
- 下载mingw64
- 配置环境变量
- Rust环境准备
- 配置环境变量
- 下载rust
- 补充
- 包查询地址
- x86_64-pc-windows-gnu
- 运行rust
Rust默认使用的是C语言环境,也就是Visual Studio,当我们直接点击rustup-init.exe文件进行安装时,Visual Studio会默认安装到我们的C盘,会占用大量的C盘空间。
我们可以采用轻量级的依赖包:mingw64。
编译环境准备
下载mingw64
首先下载mingw64,GitHub下载地址:https://github.com/niXman/mingw-builds-binaries/releases。
- x86_64表示压缩包适用于64位的x86处理器架构。
- posix:适用于符合POSIX标准的操作系统,如Linux、UNIX等。
- win32:适用于Windows操作系统。
- seh:压缩包使用结构化异常处理(Structured Exception Handling)来处理异常。
- msvcrt:MSVCRT是Microsoft Visual C++编译器的旧版运行时库,用于支持在Windows系统上使用Visual C++编译的程序。它提供了许多标准C库函数和C++运行时函数的实现,用于支持程序的运行和调试。MSVCRT通常与早期的Visual C++版本(如Visual Studio 2010及更早版本)相关联。
- ucrt:UCRT是自Windows 10起引入的新一代运行时库,旨在提供更好的兼容性和性能。UCRT是一个通用的C运行时库,用于支持使用C语言编译的程序,而不仅仅是限于Visual C++编译器。它提供了对标准C库函数的更新实现,并支持一些新的C标准(如C11标准)。UCRT与较新版本的Visual C++(如Visual Studio 2015及更新版本)相关联。
UCRT更新推荐开发使用,如果考虑兼容则用MSVCRT。
Windows10 则下载的是:x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev2.7z
配置环境变量
- 将
mingw64解压的一个指定位置,例如D:\dev\rust。 - 配置系统环境变量(按win键直接搜索系统环境变量打开即可),在
path环境变量中新增一条,将D:\dev\rust配置进去,然后一路确定。 - 在
cmd(win+R输入cmd后回车,或搜索命令提示符打开)输入命令gcc --version回车,若能看到版本信息,则表示配置成功。
Rust环境准备
配置环境变量
rust默认会安装到C盘用户目录下的.cargo文件下:%USERPROFILE%/.cargo,可以通过环境变量指定安装位置。假设安装位置也为D:\dev\rust
- cargo:编辑系统环境变量,新建一条变量名为
CARGO_HOME,值为D:\dev\rust\.cargo的系统环境变量。 - rustup:编辑系统环境变量,新建一条变量名为
RUSTUP_HOME,值为D:\dev\rust\.rustup的系统环境变量。 - 在系统环境变量的path变量中新增一条,值为
%CARGO_HOME%\bin。
下载rust
官网下载地址:https://rust.p2hp.com/tools/install
选择好合适的版本并下载好后,双击exe文件打开。
-
选择使用自己准备的编译环境,输入2回车。

-
接着输入y回车,然后选择自定义安装,输入2回车

-
安装工具链:Rust默认的工具链是:x86_64-pc-windows-msvc。由于我们使用的编译环境是
mingw64,所以需要使用这个x86_64-pc-windows-gnu,输入它回车。

-
然后回车两次,在是否修改环境变量那输入n回车,这样才会使用我们自己配置的环境变量安装rust。

-
接下来一路回车即可,等待安装完成后可以看到安装路径,如下。

-
打开cmd输入
rustup --verion或rustc --version回车,如果看到输出了版本信息,则表示安装成功。 -
根据需要修改
cargo镜像,如果下载速度慢的话,可以在CARGO_HOME指定的目录下创建一个config.toml文件,配置内容如下:
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"# 具体使用的源
replace-with = 'aliyun'### 配置多个源地址
# rsproxy
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"# 阿里源
[source.aliyun]
registry = "sparse+https://mirrors.aliyun.com/crates.io-index/" # 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"# 中国科学技术大学
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index/"# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"# rustcc社区
[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"[net]
git-fetch-with-cli=true
补充
包查询地址
推荐两个rust包的查询地址:
- https://crates.io/
- https://lib.rs/search
x86_64-pc-windows-gnu
x86_64-pc-windows-gnu 和 x86_64-pc-windows-msvc 是 Rust 在 Windows 平台上的两种 目标三元组(target triple),分别对应不同的底层工具链和运行时行为。它们的核心区别在于 使用的 C 运行时库(CRT)和链接器,进而影响编译、链接和程序运行时的特性。以下是详细对比:
| 特性 | x86_64-pc-windows-gnu | x86_64-pc-windows-msvc |
|---|---|---|
| C 运行时库(CRT) | 使用 MinGW-w64 提供的 GNU CRT(如 msvcrt.dll 或 ucrt.dll) | 使用 Microsoft Visual C++(MSVC) 提供的 CRT(如 msvcr120.dll) |
| 链接器 | GNU ld(来自 MinGW-w64) | Microsoft link.exe(来自 MSVC 工具链) |
| 调试符号格式 | DWARF(GNU 标准) | PDB(Microsoft 专有格式) |
| 异常处理机制 | 基于 SEH(Structured Exception Handling) 的兼容实现(MinGW 的变种) | 原生 SEH(Windows 官方机制) |
| 线程模型 | 通常使用 POSIX 线程(pthread) 的兼容层 | 原生 Windows 线程(Win32 API) |
运行rust
这里用
vscode举例。
- 在
vscode中安装好插件rust-analyzer(其他相同作用的rust插件也行)。 - 创建rust项目:cmd输入
cargo new 项目名即可创建一个rust项目,然后通过vscode打开创建好的项目,这时插件会自动对项目进行编译。 - 打开
main.rs文件,点击图中标注的Run即可运行项目。

如果运行失败,出现下图的情况,则需要在之前配置的
config.toml文件中加上如下内容:[target.x86_64-pc-windows-gnu] linker = "D:/dev/rust/mingw64/bin/x86_64-w64-mingw32-gcc.exe"

