Windows下安装Rust并配置vscode环境

Windows下安装Rust并配置vscode环境

最近要用Rust开发嵌入式系统,今天把环境配置了一下。

参考资料: 老师给我们提供了华为简约rust入门课程,安装和配置环境主要是这两课。

一、获取安装程序

旋武社区_安装Rust中点击下载链接即可开始下载。

在这里插入图片描述

二、配置环境变量

依照提示配置即可

变量名称说明备注
RUSTUP_DIST_SERVER替换下载源为旋武镜像推荐: https://mirror.xuanwu.openatom.cn
RUSTUP_UPDATE_ROOT替换Rustup更新源为旋武镜像推荐: https://mirror.xuanwu.openatom.cn/rustup
CARGO_HOME (可选)自定义cargo配置、缓存、二进制存放目录默认:%USERPROFILE%\.cargo(例: C:\Users\xxx\.cargo)
RUSTUP_HOME (可选)自定义Rust工具链安装目录默认:%USERPROFILE%\.rustup(例: C:\Users\xxx\.rustup)

a. 命令行配置(推荐)

可以使用命令提示符(Win+R,输入cmd,回车)运行以下命令快速添加:

setx RUSTUP_DIST_SERVER https://mirror.xuanwu.openatom.cn
setx RUSTUP_UPDATE_ROOT https://mirror.xuanwu.openatom.cn/rustup

在这里插入图片描述

b. 图形界面配置(不熟悉命令行可以使用)

通过打开系统设置系统关于(或系统信息)高级系统设置环境变量,在用户变量中点击新建编辑,依次添加上述变量。

三、执行安装程序

运行安装程序 rustup-init.exe,会自动弹出安装的命令行界面:

在这里插入图片描述

这里我们有三个选项:

  1. 通过 Visual Studio Community 安装程序快速安装(对个人、学术用途和开源开发免费)
  2. 手动安装必备组件(适用于企业用户和高级用户)
  3. 不安装必备组件(如果你的开发目标是 GNU ABI)

如果你想快速装上Rust,同时内存不紧张的话,可以在终端输入1回车或者直接回车(默认就是选项1)

默认的配置如下:

选项说明默认值
Default host triple目标平台架构x86_64-pc-windows-msvc
Default toolchain工具链版本stable
Profile安装组件集default
Modify PATH是否将Rust添加到系统PATHy

各选项详细说明

Default host triple

  • 作用: 指定目标平台和工具链类型
  • 常见值:
    • x86_64-pc-windows-msvc - Windows 64位 + MSVC
    • x86_64-pc-windows-gnu - Windows 64位 + GNU
    • x86_64-unknown-linux-gnu - Linux 64位
    • aarch64-apple-darwin - macOS Apple Silicon

Default toolchain

  • 作用: 选择Rust版本
  • 选项:
    • stable - 稳定版(推荐)
    • beta - 测试版
    • nightly - 每日构建版

Profile

  • 作用: 选择安装的组件集合
  • 选项:
    • minimal - 仅基础组件
    • default - 默认组件(推荐)
    • complete - 完整组件

Modify PATH

  • 作用: 是否将Rust添加到系统环境变量
  • 选项:
    • y - 是(推荐)
    • n - 否

你也可以选择自定义安装,Default toolchainProfileModify PATH三个配置直接用默认的就行,Default host triple可以修改为其他的工具链。

x86_64-pc-windows-gnu工具链HNU智能的同学可能有印象,OS实验选用的就是aarch64-unknown-linux-gnu交叉编译链,GNU工具链在Windows和Linux下都能运行。

官方默认的是使用x86_64-pc-windows-msvc工具链,但MSVC工具链本身不会单独作为独立安装包发布,而是集成在Visual Studio中(或通过Visual Studio的「生成工具」组件单独安装)。所以如果我们选用默认的x86_64-pc-windows-msvc工具链,不可避免的要安装Visual Studio,这也会导致安装x86_64-pc-windows-msvc工具链需要1-2个GB,但如果选择安装x86_64-pc-windows-gnu只需要300-500MB。

二者的区别

x86_64-pc-windows-msvcx86_64-pc-windows-gnu是Windows 64位平台上两种最常见的目标平台标识,核心区别在于使用的编译器工具链不同,进而影响编译行为、兼容性和适用场景。

核心区别对比表

维度x86_64-pc-windows-msvcx86_64-pc-windows-gnu
编译器工具链微软MSVC(cl.exe编译器、link.exe链接器)GNU工具链(gcc.exe/g++.exe编译器、ld.exe链接器,如MinGW-w64)
标准库微软C运行时库(MSVCRT,如msvcrt.dllGNU C标准库(如libgcclibstdc++或MinGW的msvcrt.dll兼容实现)
系统调用方式依赖Windows系统API和MSVC扩展依赖Windows API,但通过GNU工具链适配
二进制兼容性生成的程序需依赖MSVC运行时(如vcruntime140.dll生成的程序通常依赖MinGW运行时(如libgcc_s_seh-1.dll),部分可静态链接消除依赖
生态兼容性与Windows系统组件、Visual Studio项目无缝兼容与Linux/GNU生态(如Autotools、CMake)兼容性更好,移植性更强
常见用途Windows原生应用、游戏、企业级软件开发跨平台项目(如开源工具)、命令行程序、避免依赖MSVC运行时的场景

关键差异解析

  1. 编译器工具链来源

    • msvc:工具链由微软开发,仅在Windows上可用,需通过Visual Studio或其Build Tools获取
    • gnu:工具链基于GNU开源项目(如MinGW-w64),可在Windows上模拟类Unix编译环境,安装包体积更小(通常数百MB)
  2. 运行时依赖

    • msvc:编译的程序默认依赖微软的C运行时库(如vcruntime140.dll),如果目标系统未安装对应版本,程序会报错"缺少DLL"(需单独分发运行时或静态链接)
    • gnu:可通过静态链接将GNU标准库打包到程序中,生成单文件可执行程序(无需额外安装运行时),但可能导致文件体积稍大
  3. 兼容性场景

    • 若需调用Windows系统级API(如COM组件、.NET互操作),msvc工具链兼容性更佳
    • 若项目需跨平台编译(同一代码同时支持Windows、Linux、macOS),gnu工具链更贴近Unix环境,移植成本更低
  4. 开发工具适配

    • msvc天然适配Visual Studio IDE,调试、断点等功能无缝集成
    • gnu更适合搭配VS Code、CLion等跨平台IDE,或直接通过命令行编译

我是选择的是默认安装,这样比较省事(官方既然默认给的是msvc工具链,应该不会涉及到Linux开发吧。。。)

  • 直接回车开始下载Visual Studio

在这里插入图片描述

  • 下载好之后会弹出以下提示(这里它建议重启一下,确保MSVC工具链的环境变量和系统配置被正确加载,避免后续Rust安装因依赖缺失失败,重启后再打开rustup-init.exe即可,不过我当时没看到这句话,没重启也没事)

在这里插入图片描述

  • 然后接下来继续回车,采用我们选定的选项安装

如果遇到了这个问题:

Current installation options:

   default host triple: x86_64-pc-windows-msvc
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes

1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation
>

info: profile set to 'default'
info: default host triple is x86_64-pc-windows-msvc
info: syncing channel updates for 'stable-x86_64-pc-windows-msvc'
926.7 KiB / 926.7 KiB (100 %)  11.0 KiB/s in  4m 23s
info: latest update on 2025-09-18, rust version 1.90.0 (1159e78c4 2025-09-14)
info: downloading component 'cargo'
  9.3 MiB /   9.3 MiB (100 %)  38.9 KiB/s in  5m 59s
info: downloading component 'clippy'
error: failed to download file error=Reqwest(reqwest::Error { kind: Request, url: "https://static.rust-lang.org/dist/2025-09-18/clippy-1.90.0-x86_64-pc-windows-msvc.tar.xz", source: hyper_util::client::legacy::Error(Connect, ConnectError("tcp connect error", Os { code: 10060, kind: TimedOut, message: "由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。" })) })
// ... 更多错误信息

这是网络连接问题,不是Rust安装本身的问题。有的人建议换源,但我们之前第一步已经换成旋武源了,应该会比较快,实在不行换清华源,开手机热点试试。

我当时退出终端,重进一遍rustup-init.exe,然后就下载很流畅,很奇怪。流畅下载一遍下来应该5分钟不到。

在这里插入图片描述

  • 当程序提示Rust is installed now. Great!,表示x86_64-pc-windows-msvc工具链下载完成。

  • 验证:终端输入:

# 检查Rust编译器
rustc --version

# 检查Cargo包管理器
cargo --version

# 检查工具链
rustup show

若成功安装终端会输出对应的版本号

在这里插入图片描述

四、配置crates.io镜像

创建<CARGO_HOME>/config.toml文件。如果你之前都用的是默认参数,没有改过CARGO_HOME,文件路径应该是:

C:\Users\用户名\.cargo\config.toml

向文件添加以下内容:

[net]
git-fetch-with-cli = true

[source.crates-io]
replace-with = 'xuanwu-sparse'

[source.xuanwu]
registry = "https://mirror.xuanwu.openatom.cn/crates.io-index"

[source.xuanwu-sparse]
registry = "sparse+https://mirror.xuanwu.openatom.cn/index/"

[registries.xuanwu]
index = "https://mirror.xuanwu.openatom.cn/crates.io-index"

如果你找不到.cargo,请勾选上隐藏的项目:

在这里插入图片描述

五、建立rust工程

  • Win+R,输入cmd,打开终端
  • 进入你想建立工程的目录(可以cd进入,也可以在想建立工程的目录右键在终端中打开)
  • 建立工程,输入:
cargo new 工程名
  • 进入工程,输入:
cd 工程名

cargo new hello_world命令在当前目录下,为Hello world项目创建了一个同名的文件夹。项目目录内初始包含了一个Cargo.toml文件,用于项目的配置与依赖管理,和一个源码文件夹src,其中包含了一个初始的main.rs源码文件,并实现了简单的语句打印功能。

fn main() {
    println!("Hello, world!");
}
  • 生成的工程包含以下几个部分:
C:\Users\lenovo\Desktop\code\rust\hnu>tree /f /a
卷 Windows 的文件夹 PATH 列表
卷序列号为 E665-D26E
C:.
|   .gitignore
|   Cargo.toml
|
\---src
        main.rs
  • 在工程目录下,编译运行,输入:
cargo run hello_world

运行结果:

C:\Users\lenovo\Desktop\code\rust\hnu>cargo run hnu
   Compiling hnu v0.1.0 (C:\Users\lenovo\Desktop\code\rust\hnu)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.40s
     Running `target\debug\hnu.exe hnu`
Hello, world
  • 如果要添加依赖项,在工程目录下,输入:
cargo add rand

这里添加的是一个随机数的依赖项

在这里插入图片描述

六、启动vscode调试运行

vscode打开工程文件的两种方式:

  • 打开vscode → 打开文件夹 → 找到工程文件夹打开
  • 终端进入工程文件夹 → 终端输入code .即可一键打开(刚新建工程后这样打开非常方便)

在这里插入图片描述

配置步骤:

  1. 安装必要插件:确保vscode中有这几个插件
    在这里插入图片描述

  2. 配置调试器:按Ctrl+F5直接运行,选择调试器C++(Windows)(因为我们前面配置了MSVC,并安装了Visual Studio Build Tools)
    在这里插入图片描述

  3. 创建launch.json:提示"program does not exist",点击打开"launch.json",再次选择调试器C++(Windows)
    在这里插入图片描述

  4. 配置launch.json:将文件内容替换为并保存:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Rust MSVC Debug",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [
                {
                    "name": "RUST_BACKTRACE",
                    "value": "full"
                }
            ],
            "console": "integratedTerminal",
            "internalConsoleOptions": "openOnSessionStart",
            "preLaunchTask": "cargo build",
            "logging": {
                "moduleLoad": false
            }
        }
    ]
}
  1. 配置tasks.json:再次按下Ctrl+F5运行,弹出"找不到任务cargo build",点击配置任务
    在这里插入图片描述

    选择要配置的任务,将tasks.json文件替换为并保存:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "cargo build",
            "type": "shell",
            "command": "cargo",
            "args": ["build"],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$rustc"],
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared"
            }
        }
    ]
}
  1. 运行:再次按下Ctrl+F5即可运行

这样就完成了Rust在Windows下的完整环境配置!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值