Window 11中安装Rust编译环境和集成开发环境

https://blog.csdn.net/weixin_43882409/article/details/87616268是我参考的一篇文章。

下载

先到https://www.rust-lang.org/learn/get-started,下载64-Bit(64位)的rustup-init.exe文件。
在这里插入图片描述
使用其他方式进行安装的网址https://forge.rust-lang.org/infra/other-installation-methods.html

设置环境变量

到“我的电脑”里边,在任意空白处点击鼠标右键,然后点击属性。
在这里插入图片描述

在窗口中间处选择“高级系统设置”。

在这里插入图片描述

然后点击“环境变量”。
在这里插入图片描述

设置CARGO_HOME和RUSTUP_HOME。

点击系统变量中的新建按钮。
在这里插入图片描述

CARGO_HOME作为变量名,变量值改为合适的文件夹,点击确定。
在这里插入图片描述

点击系统变量中的新建按钮。
在这里插入图片描述

RUSTUP_HOME作为变量名,变量值改为合适的文件夹,点击确定。

在这里插入图片描述

然后到下载目录下打开命令行,之后输入rustup-init.exe
先是输入2,选择自定义安装。
之后输入x86_64-pc-windows-gnu选择编译器。
输入stable选择稳定版本安装。
输入complete选择完全版本安装。
输入n选择不变更环境变量,等一下自己手动填写环境变量。
输入1开始安装。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

安装完成显示如下:
在这里插入图片描述

设置gcc和cargo环境变量

我通过https://github.com/niXman/mingw-builds-binaries/releases这个地方下载了gcc编译器,我下载的是x86_64-12.2.0-release-win32-seh-ucrt-rt_v10-rev2.7z
在这里插入图片描述
因为github.com在国外,试了好几下,下载着下载着就无法连接了,最后还是下载成功了。x86_64-12.2.0-release-win32-seh-ucrt-rt_v10-rev2.7z解压到D:\Gcc120200目录下。
在这里插入图片描述

选择变量为“Path”,鼠标左键双击两下。
在这里插入图片描述
点击新建。
在这里插入图片描述把gcc的bin目录填写进去,这里需要你自己电脑上的正确目录。
在这里插入图片描述
再次点击新建,把Cargo安装文件夹填上去。
在这里插入图片描述

编辑环境变量窗口上点击确定。
在这里插入图片描述
系统属性窗口点击“确定”
在这里插入图片描述

接下来修改Rust Crates 源。
CARGO_HOME目录下(我这里是D:\rustcargo),要是没有config文件的话,需要新建一个。
在这里插入图片描述

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
# 指定镜像
replace-with = 'ustc' # 如:tuna、ustc,或者 rustcc 指定一个即可# 中国科学技术大学
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git" # rustcc社区
[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"# 字节跳动
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"

写到config文件里。

在这里插入图片描述

在命令里边执行cargo new hellorust创建一个二进制项目。
在这里插入图片描述
在创建的hellorust目录下中,将

[package]
name = "hellorust"
version = "0.1.0"
edition = "2021"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
reqwest = { version = "0.11",features = ["blocking"]}
html2md = "0.2"

写到Cargo.toml文件中。
在这里插入图片描述

然后将

use std::fs;
use std::path::PathBuf;
fn main() {let url = "https://www.baidu.com/";let output = "baidu.md";println!("获取到的地址: {}", url);let body = reqwest::blocking::get(url).unwrap().text().unwrap();println!("正在转换中");let md = html2md::parse_html(&body);fs::write(output, md.as_bytes()).unwrap();let mut config_path = PathBuf::from(env!("CARGO_MANIFEST_DIR"));config_path.push(output);println!("md放到的位置:{:?}",config_path);
}

写到hellorust\src文件夹下的main.rs文件里。
在这里插入图片描述

然后进入到hellorust目录下,打开cmd,执行cargo run
在这里插入图片描述

执行结果如下:
在这里插入图片描述

完成安装和环境测试。

Visual Studio Code配置Rust开发环境和测试环境

https://code.visualstudio.com/docs/languages/rust是我参考的官方文档。
进行调试的代码如下:

fn main() {let hello:&str = "baidu.md";println!("{}",hello);let good:&str = "baidu.md1";println!("{}",good);
}

先点击左侧最下边的选项,然后再出现的输入框里边输入“rust-analyzer”,点击“Install”。
在这里插入图片描述

完成之后如下:
在这里插入图片描述

再次输入代码就有提示了。
在这里插入图片描述

需要安装Microsoft C++
在这里插入图片描述

安装完成如下图:
在这里插入图片描述
下载的插件:
在这里插入图片描述
工作目录下

{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [ {"name": "Debug","type": "cppdbg","request": "launch","program": "${workspaceFolder}/target/debug/hellorust.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceRoot}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "D:/Gcc120200/mingw64/bin/gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "Set Disassembly Flavor to Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]}]
}

在这里插入图片描述

我遇到的问题通过看VS code调试时显示Unable to start debugging.The value of miDebuggerPath is invalid 这篇参考文章解决了。

先打上断点,按照下图,选择对应的位置点击,可以进行调试了。
在这里插入图片描述

此文章为11月Day 7学习笔记,内容来源于极客时间《Rust 语言从入门到实战》。

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

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

相关文章

STM32F103C8T6第二天:按键点灯轮询法和中断法、RCC、电动车报警器(振动传感器、继电器、喇叭、433M无线接收发射模块)

1. 点亮LED灯详解(307.11) 标号一样的导线在物理上是连接在一起的。 将 PB8 或 PB9 拉低,就可以实现将对应的 LED 灯点亮。常用的GPIO HAL库函数: void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);//I/…

【深度学习】pytorch——神经网络工具箱nn

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ 深度学习专栏链接: http://t.csdnimg.cn/dscW7 pytorch——神经网络工具箱nn 简介nn.Modulenn.Module实现全连接层nn.Module实现多层感知机 常用神经网络层图像相关层卷积层(Conv&#xff…

高压放大器能够在哪里使用呢

高压放大器是一种重要的电子设备,可以在许多不同的领域和应用中使用。下面西安安泰将详细介绍高压放大器的应用。 医学影像:高压放大器在医学影像领域具有广泛的应用。医学影像设备(如X射线机、CT扫描仪等)需要高压来产生足够的能…

VUE3 TypeError: defineConfig is not a function

VUE3 TypeError: defineConfig is not a function 1. 问题2. 原因3. 解决 1. 问题 在运行npm run serve时,出现报错: 2. 原因 原因:由于用vue-cli直接创建了vue 3的项目,而里面的生态并非都是最新版,vue.config.js…

摄影师的必备神器:这三款炙手可热的人像修图工具了解一下!

不会吧,现在还有人不修图就直接上传照片吧?作为新时代的精致男孩女孩,修复工具是一定必不可少的,随着手机拍照的流行,许多后期的图片修复工具也是很强大的,有的甚至可以帮助我们一键搞定修图,无…

11 传输层协议

1、传输层里比较重要的两个协议,一个是 TCP,一个是UDP 对于不从事底层开发的人员来讲,或者对于开发应用的人来讲,最常用的就是这两个协议。 2、TCP 和 UDP 有哪些区别? 1.TCP 是面向连接的,UDP 是面向无…

微服务之Eureka

文章目录 一、Eureka介绍1.Eureka的作用2.总结 二.搭建Eureka服务端步骤1.导入maven依赖2.编写启动类,添加EnableEurekaServer注解3.添加application.yml文件,编写下面的配置: 三.注册Eureka客户端服务提供者(user-service&#x…

java高级之单元测试、反射

1、Junit测试工具 Test定义测试方法 1.被BeforeClass标记的方法,执行在所有方法之前 2.被AfterCalss标记的方法,执行在所有方法之后 3.被Before标记的方法,执行在每一个Test方法之前 4.被After标记的方法,执行在每一个Test方法之后 public …

Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库

背景介绍 Apache Doris是一个基于MPP架构的易于使用,高性能和实时的分析数据库,以其极高的速度和易用性而闻名。海量数据下返回查询结果仅需亚秒级响应时间,不仅可以支持高并发点查询场景,还可以支持高通量复杂分析场景。 这些都…

数据库系统概念系列 - 数据库系统的历史

从商业计算机的出现开始,数据处理就一直推动着计算机的发展。事实上,数据处理自动化早于计算机的出现。Herman Hollerith 发明的穿孔卡片,早在20世纪初就用来记录美国的人口普查数据,并且用机械系统来处理这些卡片和列出结果。穿孔…

麒麟KYLINIOS软件仓库搭建02-软件仓库添加新的软件包

原文链接:麒麟KYLINIOS软件仓库搭建02-软件仓库添加新的软件包 hello,大家好啊,今天给大家带来麒麟桌面操作系统软件仓库搭建的文章02-软件仓库添加新的软件包,本篇文章主要给大家介绍了如何在麒麟桌面操作系统2203-x86版本上&…

【1++的Linux】之线程(二)

👍作者主页:进击的1 🤩 专栏链接:【1的Linux】 文章目录 一,对上一篇内容的补充二,Linux线程互斥1. 互斥的引出2. 互斥量3. 剖析锁的原理 一,对上一篇内容的补充 线程创建: pthread…

nginx--install

1. ubuntu 1.1 下载并解压依赖 每个包去各自官网下载 stable 版就行。 tar xzvf nginx-1.24.0.tar.gz tar xzvf openssl-3.1.4.tar.gz tar xzvf pcre2-10.42.tar.gz tar xzvf zlib-1.3.tar.gz1.2 配置及安装 参数含义详见 nginx 官网 cd nginx-1.24.0./configure --pre…

随时随地时时刻刻使用GPT类应用

疑问 很多人说GPT的广泛使用可能会使人们失业,会对一些互联网公司的存活造成挑战,那么这个说法是真的吗? 这个说法并不完全准确。虽然GPT等AI技术的广泛应用可能会对某些行业和职业产生影响,但并不意味着它会导致人们失业或互联网…

Zookeeper3.7.1分布式安装部署

上传安装文件到linux系统上面 解压安装文件到安装目录 [zhangflink9wmwtivvjuibcd2e package]$ tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/software/3. 修改解压文件名 [zhangflink9wmwtivvjuibcd2e software]$ mv apache-zookeeper-3.7.1-bin/ zookeeper-3.7…

2021年电工杯数学建模B题光伏建筑一体化板块指数发展趋势分析及预测求解全过程论文及程序

2021年电工杯数学建模 B题 光伏建筑一体化板块指数发展趋势分析及预测 原题再现: 国家《第十四个五年规划和 2035 年远景目标纲要》中提出,将 2030 年实现“碳达峰”与 2060 年实现“碳中和”作为我国应对全球气候变暖的一个重要远景目标。光伏建筑一体…

力扣最热一百题——盛水最多的容器

终于又来了。我的算法记录的文章已经很久没有更新了。为什么呢? 这段时间都在更新有关python的文章,有对python感兴趣的朋友可以在主页找到。 但是这也并不是主要的原因 在10月5号我发布了我的第一篇博客,大家也可以看见我的每一篇算法博客…

Canal同步Mysql数据到ES以及Springboot项目查询ES数据

1、环境准备 服务器:Centos7 Jdk版本:1.8 Mysql版本:5.7.44 Canal版本:1.17 Es版本:7.12.1 kibana版本:7.12.1 软件包下载地址:链接:https://pan.baidu.com/s/1jRpCJP0-hr9aI…

Elasticsearch:在 ES|QL 中使用 DISSECT 和 GROK 进行数据处理

目录 DISSECT 还是 GROK? 或者两者兼而有之? 使用 DISSECT 处理数据 Dissect pattern 术语 例子 DISSECT 关键修饰符 右填充修饰符 (->) 附加修饰符 () 添加顺序修饰符( 和 /n) 命名的跳过键(&#xff1f…

LLM之Prompt(一):5个Prompt高效方法在文心一言3.5的测试对比

在Effective Prompt: 编写高质量Prompt的14个有效方法文中我们了解了14个编写Prompt的方法(非常感谢原作者),那么这些Prompt在具体大模型中的效果如何呢?本文以百度文心一言3.5版本大模型在其中5个方法上做个测试对比。 第1条&am…