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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BIOS知识枝桠——RAID 磁盘阵列

文章目录 前言一、RAID介绍二、RAID等级分类1.RAID02.RAID13.RAID24.RAID3和RAID45.RAID5和RAID66.RAID77.RAID10 BIOS下组建RAID 前言 假设存在多块磁盘,如果不组建阵列,磁盘与磁盘之间是没有任何关系的。磁盘A和B,放在A中的文件与B磁盘没有…

知识付费saas租户平台:揭秘成功的密码

明理信息科技知识付费saas租户平台 随着互联网的快速发展,人们越来越重视知识的获取和价值的挖掘。在这个信息爆炸的时代,知识付费已经成为了一种新的商业模式,为知识的传播和价值的转化提供了更加高效和便捷的途径。本文将探讨知识付费的发…

数据库第一次作业

1.创建一个英雄表 create table t_hero ( id int primary key auto_increment, name varchar(10) unique not null, gender char(5) check (gender in (男,女)), grade char(5) default 5星, groups char(5) check (groups in (毁灭,巡猎,智识,存护,…

毕业设计:基于python微博舆情分析系统+可视化+Django框架 K-means聚类算法(源码)✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题&#xff…

2019年江苏省职教高考计算机技能考试——一道改错题的分析

题目:函数将str字符串中的5个数字字符串转换为整数,并保存在二维数组m的最后一行,各元素为3、-4、16、18、6。并经函数move处理后,运行结果如下: 18 6 3 -4 16 16 18 6 3 -4 -4 16 …

web缓存之nginx缓存

一、nginx缓存知识 网络缓存位于客户端和 "源服务器 "之间,保存着所有可见内容的副本。当客户端请求缓存中存储的内容时,它可以直接从缓存中检索内容,而无需与服务器通信。这样,网络缓存就 "接近 "了客户端&a…

数据安全保障的具体措施有哪些

随着信息化时代的到来,数据已经成为企业和社会发展的重要资产。然而,数据安全问题也日益突出,如何保障数据的安全性、完整性和可用性成为了亟待解决的问题。以下将详细探讨数据安全保障的各个方面,以期为企业和社会提供更好的数据…

资深技术专家热议:下云风潮下企业该如何抉择?

引言 随着数字化的推进,很多企业都将上云作为数字化建设的重要指标,很多研究也表明上云可以帮助企业节约成本、提升效率。然而,近期下云风波似乎和云化的趋势唱了一个反调,我们应该如何理性看待下云潮?云计算的下一站将…

【计算机组成原理】期末复习试卷

目录 第一套试卷 第一套答案 第二套试卷 第二套答案 第三套试卷 第四套试卷 剩余试卷下载 第一套试卷 一、选择题(共20分,每题1分) 1.冯诺伊曼机工作方式的基本特点是______。 A.多指令流单数据流; B&#…

pl/sql程序块的使用

-- Created on 2024-01-15 by ADMINISTRATOR declare -- Local variables hererecord_tablename varchar2(100);---test_record表名record_StartNo integer(19);---test_record开始编号temp_No integer(19);maxnbbh integer(19);nCnt integer : 20;fi…

【CGAL系列】---Mesh修复

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享CGAL中关于Mesh修复问题,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞关注,小易会继续努力分享,一起进步! 你的点赞就是我的动…

Elasticsearch--Master选举

角色 主节点(active master):一般指的是活跃的主节点,避免负载任务,主节点主要用来管理集群,专用master节点仍将充当协调节点 候选节点(master-eligible nodes):默认具备…

图形化编程:以Scratch引领少儿编程思维启蒙之旅

在21世纪科技飞速发展的今天,编程教育已经成为培养未来人才的重要途径。而“少儿编程”这一概念的提出,正是为了让孩子们从小接触并理解计算机逻辑,锻炼他们的创新思维与问题解决能力。其中,图形化编程以其直观易懂、趣味性强的特…

ElasticSearch分布式搜索引擎(两万字详解)

文章目录 ElasticSearch分布式搜索引擎1.了解ESELK技术栈elasticsearch和lucene为什么不是其他搜索技术?总结倒排索引正向索引倒排索引正向和倒排 es的一些概念文档和字段索引和映射mysql与elasticsearch 2.安装elasticsearch1.部署单点es1.1.创建网络1.2.拉取镜像1…

【C语言基础】01环境安装 Windows下的CLion开发环境的安装

资源:放在评论区中 下载编译器mingw64 把压缩包拖拽到C盘根目录,一键解压压缩包,得到文件夹mingw64 安装CLion开发环境 点击CLion.exe,运行安装程序路径为默认安装,如需更改,注意路径中不要带有中文. Installation Options 全部勾选选择<我想要之后重启电脑>点击CLion…

自动生成批量验证码用于RPA组件测试的方法

许多人工智能和RPA公司致力于开发能够识别验证码的组件&#xff0c;以便在自动化操作中处理通过网页和App弹出的验证码验证&#xff0c;从而完成后续的自动化流程。作为从事人工智能行业的专业人士&#xff0c;在测试过程中通常需要搜集大量验证码素材&#xff0c;以评估验证码…

Linux学习记录——삼십팔 网络层IP协议

文章目录 1、了解IP协议2、IP协议报文1、8位服务类型2、16位总长度&#xff08;字节数&#xff09;3、8位生存时间&#xff08;TTL&#xff09; 3、网段划分1、网段划分和CIDR方案2、子网划分简单方法3、IP地址问题的解决方案 4、公网内网1、内网分配2、运营商管理方法 5、路由…

C++力扣题目669--修剪二叉搜索树

给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff0c;如果没有被移除&#xff0c;原有的父代子代关系都应当保留)。…

Uncaught ReferenceError: videojs is not defined

项目场景&#xff1a; 项目背景&#xff1a; 开发 vue 项目时&#xff0c;调试时浏览器前端控制台 出现红色 报错信息&#xff1a; Uncaught ReferenceError: videojs is not defined 问题描述 遇到的问题&#xff1a; 开发 vue 项目时&#xff0c; 浏览器控制台出现如下所…

【Linux】shell 脚本入门详解

一、shell入门简介 1.1什么是shell # 什么是shell网上有很多shell的概念介绍&#xff0c;其实都很官方化&#xff0c;如果你对linux命令很熟悉&#xff0c;那么编写shell就不是一个难事&#xff0c;shell本质上是linux命令&#xff0c;一条一条命令组合在一起&#xff0c;实现…