• 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"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    写到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"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    写到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);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    写到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);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

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

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

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

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

    .vscode\launch.json里边的内容如下:

    {
        // 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
                    }
                ]
            }
        ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    在这里插入图片描述

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

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

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

  • 相关阅读:
    error: #20: identifier “PWMC_Handle_t“ is undefined
    leetcode 2560打家劫舍5
    MyBatis-Plus之DML编程控制
    算法-堆结构和堆排序
    mybatis根据表名动态批量新增,批量更新的实现方法(附排坑过程+完整源码完全可用)
    Spring框架系列(7) - Spring IOC实现原理详解之IOC初始化流程
    Android 老开发被薪资竟然被应届生倒挂了……
    VMware网络设置 桥接模式 NAT VMNET0 1 8
    【微信小程序】自定义组件(三)
    事务 还有这些用法,之前都不知道
  • 原文地址:https://blog.csdn.net/qq_42108074/article/details/129250580