Windows安装Rust环境(完整教程)

一、 安装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 ,输出版本信息说明安装成功,如下图:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

函数战争(栈帧)之创建与销毁(c语言)(vs2022)

首先,什么是函数栈帧? C语言中,每个栈帧对应着一个未运行完的函数。栈帧中保存了该函数的返回地址和局部变量。栈帧也叫过程活动记录,是编译器用来实现过程函数调用的一种数据结构。 以问答的方式解释编译器与解释器-CSDN博客htt…

C++ OpenGL 3D Game Tutorial 2: Making OpenGL 3D Engine学习笔记

视频地址https://www.youtube.com/watch?vPH5kH8h82L8&listPLv8DnRaQOs5-MR-zbP1QUdq5FL0FWqVzg&index3 一、main类 接上一篇内容&#xff0c;main.cpp的内容增加了一些代码&#xff0c;显得严谨一些&#xff1a; #include<OGL3D/Game/OGame.h> #include<i…

寒假前端第一次作业

1、用户注册&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>用户注册</title> …

C++学习笔记——string类和new函数

目录 string类 1.功能增强 1.1 子字符串提取 1.2 字符串拼接 1.3 大小写转换 1.4 字符串比较 2.性能优化 3.使用示例 下面是一个简单的使用示例&#xff0c;展示了如何使用改进后的String类&#xff1a; NEW函数 2.1NEW函数的基本用法 2.2NEW函数的注意事项 2.3避…

使用lwip的perf进行测速TCP不稳定的一些相关配置项

在使用lwIP的perf工具进行TCP性能测试时&#xff0c;TCP不稳定可能涉及以下配置问题&#xff1a; 缓冲区大小&#xff08;Buffer Size&#xff09;&#xff1a;lwIP中的TCP性能受到发送和接收缓冲区大小的影响。如果缓冲区过小&#xff0c;可能导致数据包丢失或延迟增加&#x…

《BackTrader量化交易图解》第8章:plot 绘制金融图

文章目录 8. plot 绘制金融图8.1 金融分析曲线8.2 多曲线金融指标8.3 Observers 观测子模块8.4 plot 绘图函数的常用参数8.5 买卖点符号和色彩风格8.6 vol 成交参数8.7 多图拼接模式8.8 绘制 HA 平均 K 线图 8. plot 绘制金融图 8.1 金融分析曲线 BackTrader内置的plot绘图函…

Hibernate实战之操作MySQL数据库(2024-1-8)

Hibernate实战之操作MySQL数据库 2024.1.8 前提环境&#xff08;JavaMySQLNavicatVS Code&#xff09;1、Hibernate简介1.1 了解HQL 2、MySQL数据库建表2.1 编写SQL脚本2.2 MySQL执行脚本 3、Java操作MySQL实例&#xff08;Hibernate&#xff09;3.1 准备依赖的第三方jar包3.2 …

密码学:一文读懂非对称加密算法 DH、RSA

文章目录 前言非对称加密算法的由来非对称加密算法的家谱1.基于因子分解难题2.基于离散对数难题 密钥交换算法-DH密钥交换算法-DH的通信模型初始化DH算法密钥对甲方构建DH算法本地密钥乙方构建DH算法本地密钥DH算法加密消息传递 典型非对称加密算法-RSARSA的通信模型RSA特有的的…

大数据StarRocks(六) :Catalog

StarRocks 自 2.3 版本起支持 Catalog&#xff08;数据目录&#xff09;功能&#xff0c;实现在一套系统内同时维护内、外部数据&#xff0c;方便您轻松访问并查询存储在各类外部源的数据。 1. 基本概念 内部数据&#xff1a;指保存在 StarRocks 中的数据。 外部数据&#xf…

用css给宽高不固定的矩形画对角线

.kong{width: 200rpx;height: 76rpx;background: linear-gradient(to bottom right, #E5E5E5 0%, rgba(0, 0, 0, 0.1) calc(50% - 1px),#175CFF 50%, rgba(0, 0, 0, 0.1) calc(50% 1px),rgba(0, 0, 0, 0.1) 100%);}参考&#xff1a; https://blog.csdn.net/weixin_38779534/a…

1.1map

unordered_map和map的使用几乎是一致的&#xff0c;只是头文件和定义不同 #include<iostream> #include<map>//使用map需要的头文件 #include<unordered_map>//使用unordered_map需要的头文件 #include<set>//使用set需要的头文件 #include<uno…

web前端(html)练习

第一题 1. 用户名为文本框&#xff0c;名称为 UserName&#xff0c;长度为 15&#xff0c;最大字符数为 20。 2. 密码为密码框&#xff0c;名称为 UserPass&#xff0c;长度为 15&#xff0c;最大字符数为 20。 3. 性别为两个单选按钮&#xff0c;名称为 sex&#xff0c;值分…

【linux】tcpdump 使用

tcpdump 是一个强大的网络分析工具&#xff0c;可以在 UNIX 和类 UNIX 系统上使用&#xff0c;用于捕获和分析网络流量。它允许用户截取和显示发送或接收过网络的 TCP/IP 和其他数据包。 一、安装 tcpdump 通常是默认安装在大多数 Linux 发行版中的。如果未安装&#xff0c;可…

使用lwip的perf进行测速TCP会有较多的duplicate ack的原因分析

在使用lwIP的perf工具进行TCP测速时&#xff0c;出现较多的重复确认&#xff08;duplicate ACK&#xff09;可能是由于以下原因导致的&#xff1a; 丢包或乱序&#xff1a;重复确认通常是由于网络中的数据包丢失或乱序到达引起的。当接收方收到一个乱序的数据包时&#xff0c;它…

imazing破解版百度云2.17.3(附激活许可证下载)

iMazing是一款强大的 iOS 设备管理软件&#xff0c;不管是 iPhone、iPad 或 iPod Touch 设备&#xff0c;只要将 iOS 设备连接到计算机&#xff0c;就可以处理不同类型的数据。 iPhone 和 iPad 备份 借助 iMazing 的独有 iOS 备份技术&#xff08;无线、隐私和自动&#xff09…

系列十三、查询数据库中某个库、表、索引等所占空间的大小

一、information_schema数据库 1.1、概述 information_schema数据库是MySQL出厂默认带的一个数据库&#xff0c;不管我们是在Linux中安装MySQL还是在Windows中安装MySQL&#xff0c;安装好后都会有一个数据库information_schema&#xff0c;这个库中存放了其他库的所有信息。 …

【UE Niagara学习笔记】02 - 制作燃烧的火焰

目录 效果 步骤 一、添加资产 二、制作材质 三、制作粒子 3.1 循环播放 3.2 粒子生成的数量 3.3 粒子的生命周期和初始大小 3.4 火焰高度 3.5 火焰范围 3.6 火焰颜色 效果 步骤 一、添加资产 1. 在虚幻商城中搜索“M5 VFX Vol2. Fire and Flames(Niagara)”…

网络协议与攻击模拟_01winshark工具简介

一、TCP/IP协议簇 网络接口层&#xff08;没有特定的协议&#xff09; 物理层&#xff1a;PPPOE宽带拨号&#xff08;应用场景&#xff1a;宽带拨号&#xff0c;运营商切网过来没有固定IP就需要拨号&#xff0c;家庭带宽一般都采用的是拨号方式&#xff09;数据链路层网络层…

kettle的基本介绍和使用

1、 kettle概述 1.1 什么是kettle Kettle是一款开源的ETL工具&#xff0c;纯java编写&#xff0c;可以在Window、Linux、Unix上运行&#xff0c;绿色无需安装&#xff0c;数据抽取高效稳定。 1.2 Kettle核心知识点 1.2.1 Kettle工程存储方式 以XML形式存储以资源库方式存储…

【React源码 - Fiber架构之Reconciler】

前言 React16架构可以分为三层也是最核心的三个功能分别是&#xff1a; Scheduler&#xff08;调度器&#xff09;—调度任务的优先级&#xff0c;高优任务优先进入Reconciler(16新增)Reconciler&#xff08;协调器&#xff09;—负责找出变化的组件Renderer&#xff08;渲染…