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 语言从入门到实战》。

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

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

相关文章

Unity Mirror学习(二) Command属性使用

Command(命令)属性 1,修饰方法的,当在客户端调用此方法,它将在服务端运行(我的理解:客户端命令服务端做某事;或者说:客户端向服务端发消息,消息方法&#xff…

(StateFlow ShareFlow) VS (Flow LiveData)

目录 数据流程 大致流程 切换线程 StateFlow & ShareFlow StateFlow 构建StateFlow &ShareFlow 在之前的Flow,collect函数浅析和仿Flow构建器创建数据流文章中我们探索了flow的简单使用及它的简单原理,但是生产过程中我们往往会借用这些基…

小程序订单中心path设置本次审核不通过,审核原因:小程序尚未发布,无法审核。

小程序尚未发布,无法审核。 先按照这篇文章把小程序审核通过,小程序版本审核未通过,需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path,请设置后再提交代码审核 小程序审核通过后,发布…

高效自学-网络安全(黑客技术)

一、网络安全应该怎么学? 1.计算机基础需要过关 这一步跟网安关系暂时不大,是进入it行业每个人都必须掌握的基础能力。 计算机网络计算机操作系统算法与数据架构数据库 Tips:不用非要钻研至非常精通,可以与学习其他课程同步进行。 2.渗透技…

Vue计算属性 computed

计算属性&#xff1a;常用于逻辑比较复杂的计算&#xff0c;根据已有的数据&#xff0c;计算出一个新的数据。计算属性具有缓存机制&#xff0c;复用性强&#xff0c;效率更高。 计算属性【简写方式】&#xff1a; <template><div>提现金额&#xff1a;<input …

【漏洞复现】XXL-JOB默认accessToken身份绕过远程命令执行漏洞

漏洞描述 xxl-job是一个中心式分布式的调度平台,调度中心和执行器解耦,执行器和业务代码耦合,代码的侵入性少,学习简单、开发简单、轻量级 XXL-JOB 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线…

树莓派4B的测试记录(CPU、FFMPEG)

本文是用来记录树莓派 4B 的一些测试记录。 温度 下面记录中的风扇和大风扇是这样的&#xff1a; 为什么要用大风扇呢&#xff1f;因为小风扇在外壳上&#xff0c;气流通过外壳的珊格会有啸叫&#xff0c;声音不大但是很烦人&#xff0c;大风扇没这个问题&#xff0c;并且同样…

【计算机网络基础实验】实验二(补充内容)路由器的配置和静态路由

任务一 IP路由协议实现企业路由器通信 目录如下&#xff1a; 任务一 IP路由协议实现企业路由器通信一、实验目的&#xff1a;二、实验环境三、实验内容四、实验步骤1、路由器的基本配置&#xff08;1&#xff09;实验拓扑图&#xff08;2&#xff09;启动路由器&#xff08;3&a…

k8s-Pod控制器

一、Pod控制器 1.Pod控制器及其功用 Pod控制器&#xff0c;又称之为工作负载&#xff08;workload&#xff09;&#xff0c;是用于实现管理pod的中间层&#xff0c;确保pod资源符合预期的状态&#xff0c;pod的资源出现故障时&#xff0c;会尝试进行重启&#xff0c;当根据重启…

猫头虎博主第7期赠书活动:《计算机考研精炼1000题》

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

设计模式(3)-结构型模式

结构型模式 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式&#xff0c;前者采用继承机制来组织接口和类&#xff0c;后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低&#xff0c;满足“合成复用原则…

数据结构 - 全貌总结

目录 一. 前言 二. 分类 三. 常见的线性和非线性结构 一. 前言 数据结构是计算机存储、组织数据的方式。一种好的数据结构可以带来更高的运行或者存储效率。数据在内存中是呈线性排列的&#xff0c;但是我们可以使用指针等道具&#xff0c;构造出类似“树形”等复杂结构。 数…

ubuntu 安装 zsh、ohmyzsh并配置必要插件

下述记录是完成全部操作后回忆记录得来&#xff0c;或有不准确。我只记录安装中确实用到的指令&#xff0c;参考资料中有扩展内容&#xff0c;记录如下&#xff1a; ubuntu使用zsh终端并安装nerd font字体——nerd font字体不太好安装&#xff0c;使用fonts-powerline替代。 Ub…

Masked Image Training for Generalizable Deep Image Denoising 论文阅读笔记

CVPR2023 港科大&#xff08;广州&#xff09;发的一篇denoising的论文&#xff0c;作者里面有上海AILab的董超老师&#xff08;看introduction的时候看到有一段很像董超老师 Networks are slaching off 的论文的思想&#xff0c;说网络overfitting的时候学习了训练集的噪声模式…

NR DCI size alignment

DCI对齐在38.212 7.3.1.0 DCI size alignment 中讲述。 Step 0 CSS 下&#xff0c;DCI 0_0根据初始UL BWP 确定大小&#xff0c;DCI 1_0 根据CORESET0 或初始DL BWP&#xff08;没有CORESET 0时&#xff09; 确定大小 根据激活的UL/DL BWP 确定DCI 0_0和DCI 1_0 的size&…

DehazeNet: An End-to-End System for Single Image Haze Removal(端到端的去雾模型)

1、论文去雾总体思路 DehazeNet是2016年华南理工大学的研究者提出的一个端到端的深度学习模型&#xff0c;该模型主要通过输入的原始有雾图像拟合出该图所对应的medium transmission map&#xff08;透射率t值图&#xff09;&#xff0c;并使用引导滤波对t值进行refine&#x…

TSINGSEE青犀智能分析网关工服识别算法,如何最大限度保障工人安全?

众所周知&#xff0c;TSINGSEE青犀智能分析网关算法繁多&#xff0c;大多数算法已经和大家讲解过了&#xff0c;今天就和大家聊一聊工服识别算法。工服识别算法一般应用于工地、化工、煤矿等场所&#xff0c;用来监督检测施工人员是否按照要求着工服&#xff0c;最大程度保障人…

【Spring】Spring IOCDI详解

文章目录 1. Spring是什么&#xff1f;2. 认识IOC2.1 传统程序开发1. Main.java2. Car.java3. Framework.java4. Bottom.java5. Tire.java 2.2 分析传统开发2.3 IOC程序开发1. Main.java2. Car.java3. Framework.java4. Bottom.java5. Tire.java 2.4 分析IOC开发2.5 IOC容器优点…

软件测试-根据状态迁移图设计测试用例

测试用例状态迁移图 许多需求用状态机的方式来描述&#xff0c;状态机的测试主要关注状态转移是否正确。对于一个有限状态机&#xff0c;通过测试验证其在给定的条件内是否能够产生需要的状态变化&#xff0c;有没有不可达的状态和非法的状态&#xff0c;是否可能产生非法的状…

探索人工智能领域——30个名词详解

目录 前言 正文 总结​​​​​​​ &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x1f4e3;如需转载&#xff0c;请…