• 2023-09-23 Windows系统rust开发环境配置真经



    前言

    有了配置C语言环境的经验,配置rust简直不要太容易, … 直到面对cargo以及代码调试.

    如果0基础学习编程, 先别挑战boss, 还是先把C搞好.


    一、配置C编译链和VsCode

    我有大乘配置C工具链真经一卷,

    可渡有缘人达成编码自由,

    不堕地狱,

    不入轮回,

    不砸电脑,

    不毁键盘,

    汝可自此取之: C 语言编程核心突破

    环境配置皆可免费查看,

    配合2022-03-30 VsCode中使用clangd插件的各种设置 效果更佳.

    这是配置rust环境的第一步, 没有C环境, 不行.

    二、安装rust编译工具

    按上步配置完C工具链后, 你应该完成msys2资源管理系统安装以及VsCode的基本配置了,

    打开msys64终端, 输入:

    $ pacman -S mingw-w64-clang-x86_64-rust
    
    • 1

    安装即可.

    打开Windows终端, 键入:

    C:\Users\Lhb>rustc -V
    
    • 1

    看到类似, 根据版本不同略有变化

    rustc 1.71.1 (eb26296b5 2023-08-03) (Rev2, Built by MSYS2 project)
    
    • 1

    就成功了.

    三、配置VsCode

    这个比较难, 我摸索了半天搞定的:

    先在你的C盘以外的盘中, 新建一个文件夹, 比如 learnRust, 然后在菜单栏: 文件: 打开文件夹: 打开这个文件夹.

    一般会有是否信任文件夹选项, 选择信任.

    此时文件夹下空空如也, 没事, 咱们一步一步搞.

    设置

    一. 安装rust-analyzer插件

    这个是rust官方推荐的语言辅助插件, 类似于Clangd, 就是稍微有点慢, 毕竟rust过于复杂.

    如图, 在vscode扩展选项卡搜索rust-analyzer, 并安装.
    rust-analyzer

    二. 安装Error Lens插件

    这个是用于显示错误的插件, 如果是随手编写的代码, 可能得到满屏的红色警示.

    安装方法, 如法炮制,
    Error Lens
    这个插件是所有语言通用, 看看C语言配合clang-tidy的效果:
    效果
    rust效果更惊人, 自己去体会吧.

    三. 安装Even Better TOML插件

    这个插件是用来编写cargotoml配置文件的, 是的, 学习rust你必须掌握cargo, 类似C/C++make, 至少能新建项目, 编译项目

    安装同上
    Even Better TOML
    效果:

    效果

    四. 配置 launch.json

    如果你学习了C的VSCode环境配置, 这里就比较简单:

    默认你已经安装了CodeLLDB代码调试插件, 是的, 调试rust也用lldbgdb, rust的编译需要C, 代码调试的环境和C一样, 如果偷懒没有建立C环境, 一切都是白搭.

    在运行和调试选项卡点击创建launch.json

    创建launch.json
    这里有两个配置, 如果用cargo, 就用第一个配置, 也就是CodeLLDB的基本配置, 它会在项目文件夹的下的\target\debug\文件目录中创建可运行文件.

    如果想像C语言似的简单编译, 看第二个配置, 它需要配合tasks.json.

    当然, 如果想比较顺利的debug, 还需要做cargo.toml的文件目录调整, 这个看下面cargo.toml设置.

    launch.json

    {
        "version": "0.2.0",
        "configurations": [
            {
                "type": "lldb",
                "request": "launch",
                "name": "Cargo launch",
                "cargo": {
                    "args": [
                        "build",
                    ]
                },
            },
            {
                "type": "lldb",
                "request": "launch",
                "name": "Launch",
                "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
                "args": [],
                "cwd": "${workspaceFolder}",
                "preLaunchTask": "rustBuild"
            },
        ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    五. 配置 tasks.json

    为了像C一样进行简易编译, 我们需要建立tasks.json文件.

    菜单栏: 终端: 配置任务:

    配置任务

    选择图中所示:

    配置build

    做一些更改:

    tasks.json

    {
        "version": "2.0.0",
        "tasks": [
            {
                "type": "process",
                "command": "rustc",
                "args": [
                    "-g",
                    "${fileDirname}\\${fileBasename}",
                    "-o",
                    "${fileDirname}\\${fileBasenameNoExtension}.exe",
                ],
                "problemMatcher": [
                    "$rustc"
                ],
                "group": "build",
                "label": "rustBuild",
            }
        ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    六. 配置 Cargo.toml

    这个稍微有点难, 我也是琢磨了半天才整明白:

    新建终端: 快捷键 ctrl + shift + `,

    注意这个 ` 是大键盘数字1左侧的那个按键.

    输入命令:

    E:\learnRust>cargo init
    
    • 1

    成功会显示

         Created binary (application) package
    
    • 1

    然后你的文件夹下就多了几个文件:

    文件
    这一步很重要, 将main.rssrc文件夹移动到外层的learnRust文件夹, 更改名字, 比如Learn_01.rs, 删除src文件夹.

    这步关系到是否可以顺利调试, 切记.

    之后就是打开 Cargo.toml 文件, 进行编辑

    Cargo.toml

    [package]
    name = "learnRust"
    version = "0.1.0"
    edition = "2021"
    
    # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
    
    [dependencies]
    
    [[bin]]
    name = "learnRust"
    path = "E:/learnRust/Learn_01.rs"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    注意: path = "E:/learnRust/Learn_01.rs" 中的文件名, 要根据你建立的文件名随时更改, 否则无法正确编译.

    如果你按以上步骤配置完成, 那么限制的文件布局是:

    文件布局

    现在就可以打开Learn_01.rs文件, 愉快的编码了.

    传统项目, hello, world, 点击F5, 进行调试:

    在这里插入图片描述
    在这里插入图片描述

    恭喜你, 迈入打 BOSS 的第一步, study made you happy!


    总结

    以上就是rust编译工具链的建立, 如有问题, 可以在评论区讨论.

  • 相关阅读:
    来看看双阶段目标检测算法趴
    Zookeeper选举Leader源码剖析(二)
    DAY48
    SpringCloud学习笔记 - 服务调用、负载均衡组件 - ribbon
    openssh快速安装
    二叉树的建立与遍历
    车间静电消除不掉?静电接地桩来帮忙!
    【技能树笔记】网络篇——练习题解析(四)
    在太空里种上几茬水稻 国稻种芯:中国航天员抽身干点农活
    python第二章
  • 原文地址:https://blog.csdn.net/m0_54206076/article/details/133218542