Windows安装Rust环境(详细教程)

news2024/12/22 5:11:00

一、 安装mingw64(C语言环境)

Rust默认使用的C语言依赖Visual Studio,但该工具占用空间大安装也较为麻烦,可以选用轻便的mingw64包。

1.1 安装地址

(1) 下载地址1-GitHub:Releases · niXman/mingw-builds-binaries · GitHub
(2) 下载地址2-WinLibs:WinLibs - GCC+MinGW-w64 compiler for Windows

1.2 压缩包

1.2.1 压缩包下载

下面以GitHub下载为例:
在这里插入图片描述

1.2.2 压缩包关键字说明

  1. 架构(Architecture):x86_64表示压缩包适用于64位的x86处理器架构。
  2. 版本(Version):13.2.0-release表示压缩包的版本号为13.2.0,并且是正式发布的版本。
  3. 操作系统平台(Operating System Platform):
    • posix:适用于符合POSIX标准的操作系统,如Linux、UNIX等。
    • win32:适用于32位的Windows操作系统。
      (如果Linux和Window混用选posix;如果只用Windows开发选win32)
  4. 异常处理(Exception Handling):
    • seh:压缩包使用结构化异常处理(Structured Exception Handling)来处理异常。
  5. 运行时库(Runtime Library):
    • msvcrt:压缩包使用Microsoft Visual C++运行时库(MSVCRT)。
    • ucrt:压缩包使用通用C运行时库(UCRT)。
  6. 版本修订(Revision):rev1表示这些压缩包的修订版本号为1。

综上所述,根据自身需求和操作系统选择适合的压缩包。

1.2.3 msvcrt和ucrt说明

1、 MSVCRT(Microsoft Visual C++ Runtime):
MSVCRT是Microsoft Visual C++编译器的旧版运行时库,用于支持在Windows系统上使用Visual C++编译的程序。
它提供了许多标准C库函数和C++运行时函数的实现,用于支持程序的运行和调试。
MSVCRT通常与早期的Visual C++版本(如Visual Studio 2010及更早版本)相关联。

2、UCRT(Universal C Runtime):
UCRT是自Windows 10起引入的新一代运行时库,旨在提供更好的兼容性和性能。
UCRT是一个通用的C运行时库,用于支持使用C语言编译的程序,而不仅仅是限于Visual C++编译器。
它提供了对标准C库函数的更新实现,并支持一些新的C标准(如C11标准)。
UCRT与较新版本的Visual C++(如Visual Studio 2015及更新版本)相关联。

综上所述,UCRT更新推荐开发使用,如果考虑兼容则用MSVCRT

1.2.4 压缩包部署
(1) 此次选择下载x86_64-13.2.0-release-posix-seh-ucrt-rt_v11-rev1.7z包,如下图:

在这里插入图片描述

(2) 将包解压到“D:\Program Files\”目录下,如下图:
在这里插入图片描述

(3) 将压缩包的bin配置到path环境中,如下图:
在这里插入图片描述

(4) cmd窗口输入命令“gcc -V”,正常显示版本信息说明安装成功,如下图:
在这里插入图片描述

二、 安装Rust

2.1 配置rustup和cargo目录

如果不喜欢安装到C盘,可以通过设置环境变量,改变默认安装位置:

RUSTUP_HOME D:\rust\rustup_home
CARGO_HOME D:\rust\cargo_home

在这里插入图片描述

2.2 配置加速安装地址

(1) 直接从官方网站下载会很慢,改用国内镜像加速安装,设置以下环境变量:

RUSTUP_DIST_SERVER https://mirrors.tuna.tsinghua.edu.cn/rustup
RUSTUP_UPDATE_ROOT https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup

在这里插入图片描述

(2) 配置库镜像(类似python的pip):在“C:\Users\用户名\”下创建“.cargo”文件夹,在文件夹内创建“config”文件,如下图:

[source.crates-io]
registry = “https://github.com/rust-lang/crates.io-index”
replace-with = ‘tuna’
[source.tuna]
registry = https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git

在这里插入图片描述

2.3 下载Rust安装程序

(1) 从Rust的官网下载 rustup-init:https://www.rust-lang.org/zh-CN/
在这里插入图片描述

(2) 下载的exe,如下图:
在这里插入图片描述

(3) 双击启动安装程序,如下图:
在这里插入图片描述

(4) 上图的1选项要求必须安装C/C++的编译环境,默认是 visual studio安装器,而此次使用mingw64,因此需要手动修改为 2,然后输入 y,如下图:
在这里插入图片描述

(5) 继续输入 2,如下图:
在这里插入图片描述

(6) 输入 x86_64-pc-windows-gnu 表示安装64位的gnu版本,如下图:
在这里插入图片描述

(7) 接下来都是回车,使用默认配置,如下图:
在这里插入图片描述

(8) 上面配置完毕后,到最后一步还是回车,然后开始安装;安装过程中要从网络下载很多东西,需耐心等待,其中已下载过的包会自动跳过,如下图:
在这里插入图片描述

(9) 看到最后的提示,按下回车退出安装窗口。

2.4 安装后验证
打开cmd窗口,输入 rustc --version ,输出版本信息说明安装成功,如下图:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1375983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#编程-实现线程声明周期

实现线程声明周期 当System.Threading.Thread类的对象被创建的时候,线程的生命周期开始。线程的生命周期在完成任务时结束。在线程的生命周期中有各种状态。这些状态是: 未启动状态可运行状态不可运行状态死亡状态下图显示了线程的各种状态和引起线程从一个状态变为另一个状…

上市路上,如何打好合规与增长的双赢之战? |CFO x CIO 专刊

经济发展的新旧动能转化之下,企业需要找到可持续的高质量发展之路。以数字化智能化为推动力,做好内控与合规,不仅能保证企业的发展不偏离航道,还能有效激发数字资产价值,帮企业获得新发展动能。不管是拟上市企业还是已…

STM32F107VCT6官方原理图和PCB

资料下载地址:STM32F107VCT6官方原理图和PCB STM32F107VCT6是STMicroelectronics公司推出的一款高性能的32位微控制器芯片。它采用了ARM Cortex-M3架构,工作电压范围为2.0V-3.6V,主频速度高达72MHz,能够运行多重模式的程序。 在存…

二叉树题目:完全二叉树插入器

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:完全二叉树插入器 出处:919. 完全二叉树插入器 难度 6 级 题目描述 要求 完全二叉树是每一层(除最后一层外)都…

线索系统性能优化实践

引言 在京东家居事业部,线索CRM系统扮演着至关重要的角色,它作为构建家居场景核心解决方案集的首要环节,肩负着获客和拓展业务的重要使命。然而,随着业务的不断扩张和市场需求的日益增长,系统原有的架构开始显露出诸多…

DDMS修改默认端口8700

当前操作系统为 Mac,编辑器 Intellij IDE 准备工作:在IDE中的终端下,输入monitor指令 > 回车,打开DDMS 1、第一步, 2、第二步:修改静态端口 3、第三步 4、第四步:修复配置端口 5、第五步 重…

高级路由学习试题

文章目录 高级路由学习试题一.高级路由题目答案 二.OSPF 相关答案 三.基础知识答案 高级路由学习试题 一.高级路由题目 1.以下属于ITOIP特性的有() A、智能 B、开放 C、融合 D、标准 2.层级化网络模型将网络划分为() A、汇…

[Kubernetes]9. K8s ingress讲解借助ingress配置http,https访问k8s集群应用

前面讲解了使用Helm部署mysql集群,这里来看看使用Ingress搭建负载均衡功能 1.介绍 功能类似 Nginx ,可以根据域名、路径把请求转发到不同的 Service , Ingress 为外部访问集群提供了一个 统一 入口, 避免 了 对外暴露集群端口 ,可以配置 https,http访问集群应用,接下来看看如…

实现STM32烧写程序-(1)获取Bootloader版本信息

简介 如何像ST Flash Loader等工具一样写自己的烧写程序呢?文档 AN3155: USART protocol used in the STM32 bootloader 步骤 Boot模式 将 开发板例如STM32F103C8T6 Boot0->1 & Boo1->0 重启或复位进入系统存储模式 物理连接 将USART1 通过 USB转TTL线连接到…

大模型学习与实践笔记(五)

一、环境配置 1. huggingface 镜像下载 sentence-transformers 开源词向量模型 import os# 设置环境变量 os.environ[HF_ENDPOINT] https://hf-mirror.com# 下载模型 os.system(huggingface-cli download --resume-download sentence-transformers/paraphrase-multilingual-…

一卡通水控电控开发踩过的坑

最近在做一个项目,是对接一卡通设备的。我一开始只拿到设备和3个文档开局。不知道从哪下手。一步一步踩坑过来。踩了很多没有必要的坑,写出来给有用的人吧。 读卡器怎么用? 有个读卡器,一开始什么软件也不提供。我都不知道是干嘛…

Spring Boot - Application Events 的发布顺序_ApplicationContextInitializedEvent

文章目录 Pre概述Code源码分析 Pre Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent 概述 Spring Boot 的广播机制是基于观察者模式实现的&#xff0c…

NLP论文阅读记录 - 05 | 2023 抽象总结与提取总结:实验回顾

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.相关工作2.1 提取方法2.2 抽象方法2.3 数据集 三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 Abstractive vs. Extractiv…

从头安装与使用一个docker GPU环境

GPU版docker的安装与使用 欢迎使用GPU版docker安装使用说明使用官方教程安装docker新建一个GPU版docker环境调用docker环境执行本地python文件 欢迎使用GPU版docker安装使用说明 使用官方教程安装docker 导入源仓库的GPG key curl -fsSL https://download.docker.com/linux/…

RTL编码(1)——概述

一、RTL级描述 RTL(Register Transfer Level)级:寄存器+组合逻辑,其功能与时序用Verilog HDL(以下简称Verilog)或VHDL代码描述。 RTL描述包含了同步数字电路最重要的三个特征:组合逻…

水产冷链物流行业零下25℃库架一体 海格里斯HEGERLS四向穿梭式冷藏冷库智能密集仓

随着国内外仓储物流整体规模和低温产品消费需求的稳步增长,冷链市场应用潜力不断释放。在传统“货架叉车”的方式下,货物、人员及机械设备不断进出,容易造成温度波动,导致冷量流失。立体冷库则以更高密度、更具成本效益的方式&…

electron+vue网页直接播放RTSP视频流?

目前大部分摄像头都支持RTSP协议,但是在浏览器限制,最新版的浏览器都不能直接播放RTSP协议,Electron 桌面应用是基于 Chromium 内核的,所以也不能直接播放RTSP,但是我们又有这个需求怎么办呢? 市场上的方案…

【动态规划】 【字典树】C++算法:472 连接词

作者推荐 【动态规划】458:可怜的小猪 涉及知识点 动态规划 字典树 LeetCode472 连接词 给你一个 不含重复 单词的字符串数组 words ,请你找出并返回 words 中的所有 连接词 。 连接词 定义为:一个完全由给定数组中的至少两个较短单词(不…

jenkins 自由风格部署vue项目,参数化构建vue项目

1. 丢弃旧的构建 2. 是否需要install 3. git 4. 配置node16: 5. 脚本: 脚本: #进入Jenkins工作空间下项目目录 cd /var/lib/jenkins/workspace/你的任务名称 node -v #检测node版本(此条命令非必要) npm -v #检测npm版本&#x…

【开源】基于JAVA语言的康复中心管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员模块 三、系统展示四、核心代码4.1 查询康复护理4.2 新增康复训练4.3 查询房间4.4 查询来访4.5 新增用药 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的康复中…