【Rust敲门砖】 Windows环境下配置及安装环境

news/2024/7/11 1:20:38 标签: jquery, rust, 后端, 经验分享

一、安装C++环境

rust底层是依赖C环境的连接器,所以需要先安装C/C++编译环境, 有两种选择:安装微软的msvc或者安装mingw/cygwin
如果使用msvc的Visual Studio,只需要安装好C/C++编译环境,然后一路默认就行了,缺点是体积比较大,下载安装都要好几个G,参见:安装MSVC。

在这里插入图片描述

本文主要讲解mingw-64的环境下的安装操作,看看下载页面 https://www.mingw-w64.org/downloads/
在这里插入图片描述

可以看到有很多种mingw-64的构建方式,支持windows的也不少,我本人目前用的是上图中圆圈标记的那个。

Mingw-builds 的构建版本

地址为:https://github.com/niXman/mingw-builds-binaries/releases
在这里插入图片描述

如果你是64位的系统,那就选择x86_64开头的,反之32位的选择i686开头的。

线程模型有posixwin32,如果你想在vscode里面搞断点调试,我推荐用posix。

然后是异常处理机制,我目前用的seh

● seh 零开销exception,64位系统可用
● sjlj 不是零成本,有较小的性能损失
● dwarf 只支持32位

我选择的是x86_64-12.2.0-release-posix-seh-ucrt-rt_v10-rev2.7z,然后下载到本地,把bin文件夹加到Path系统环境变量里面即可,这个适合老手,毕竟这个压缩包才70Mb左右,比安装msvc那一套快,又省空间。
在这里插入图片描述

至此,C/C++环境就搞定了,就是这么简单。

gcc -v

在这里插入图片描述

rust_36">二、安装rust环境

安装之前,先想想要安装到什么地方,我不喜欢安装到C盘,可以设置一些系统环境变量,改变默认安装的位置

RUSTUP_HOME	D:\Programs\rust\.rustup  // 默认路径 ~/.rustup 或 %USERPROFILE%/.rustup
CARGO_HOME	D:\Programs\rust\.cargo // 默认路径 ~/.cargo 或 %USERPROFILE%/.cargo

如果直接从官方网站下载,国内的环境复杂,下载会很慢,而且容易失败。推荐使用镜像加速安装,设置以下环境变量:

RUSTUP_DIST_SERVER	https://rsproxy.cn
RUSTUP_UPDATE_ROOT	https://rsproxy.cn/rustup

在这里插入图片描述

这一切准备工作做好之后,就可以用rustup-init来安装了
如果使用msvc环境的话,一切默认就行了
而mingw就需要手动选择gnu toolchain

msvc的toolchain:  stable-x86_64-pc-windows-msvc
mingw/cygwin:     stable-x86_64-pc-windows-gnu

运行rustup-init后出现如下提示:
在这里插入图片描述

它说rust需要windows API库和链接器,你可以选择下面3项的一项。

1、安装Visual Studio。
2、手动安装的预设条件。
3、无需预设条件。

我们这里选择3,mingw-w64也是C/C++编译器,就是 GCC 的 Windows 版本 。回车:

 default host triple: x86_64-pc-windows-msvc
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation

然后输入2,就是自定义安装,出现提示:

I'm going to ask you the value of each of these installation options.
You may simply press the Enter key to leave unchanged.

Default host triple? [x86_64-pc-windows-msvc]

输入x86_64-pc-windows-gnu,(小提示,你先复制x86_64-pc-windows-gnu,在rustup右键可以直接粘贴文字,可以不用手写输入。出现提示:

Default toolchain? (stable/beta/nightly/none) [stable]

输入stable,表示稳定版。出现提示:

Profile (which tools and data to install)? (minimal/default/complete) [default]

输入default,表示默认。出现提示:

Modify PATH variable? (Y/n)

输入Y,表示修改环境变量,然后回到了第一步,提示:

default host triple: x86_64-pc-windows-msvc
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation

输入1,然后出现:

info: profile set to 'default'
info: setting default host triple to x86_64-pc-windows-gnu
info: syncing channel updates for 'stable-x86_64-pc-windows-gnu'
info: latest update on 2022-12-15, rust version 1.66.0 (69f9c33d7 2022-12-12)
info: downloading component 'cargo'
  7.3 MiB /   7.3 MiB (100 %)   1.9 MiB/s in  5s ETA:  0s
info: downloading component 'clippy'
  3.6 MiB /   3.6 MiB (100 %)   1.7 MiB/s in  2s ETA:  0s
info: downloading component 'rust-docs'
 19.0 MiB /  19.0 MiB (100 %)   2.1 MiB/s in 10s ETA:  0s
info: downloading component 'rust-mingw'
  4.2 MiB /   4.2 MiB (100 %)   2.6 MiB/s in  1s ETA:  0s
info: downloading component 'rust-std'
 27.8 MiB /  27.8 MiB (100 %)   1.8 MiB/s in 14s ETA:  0s
info: downloading component 'rustc'
 74.3 MiB /  74.3 MiB (100 %)   1.5 MiB/s in 49s ETA:  0s
info: downloading component 'rustfmt'
  6.6 MiB /   6.6 MiB (100 %)   2.2 MiB/s in  3s ETA:  0s
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
 19.0 MiB /  19.0 MiB (100 %)   3.0 MiB/s in  5s ETA:  0s
info: installing component 'rust-mingw'
info: installing component 'rust-std'
 27.8 MiB /  27.8 MiB (100 %)   9.0 MiB/s in  3s ETA:  0s
info: installing component 'rustc'
 74.3 MiB /  74.3 MiB (100 %)  10.3 MiB/s in  7s ETA:  0s
info: installing component 'rustfmt'
info: default toolchain set to 'stable-x86_64-pc-windows-gnu'

  stable-x86_64-pc-windows-gnu installed - rustc 1.66.0 (69f9c33d7 2022-12-12)

Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload its PATH environment variable to include
Cargo's bin directory (D:\Programs\rust\cargo_home\bin).

Press the Enter key to continue.

等待它下载文件完毕,这里需要等待的时间有点长,但耐心就好,假如下载出现错误,就重设上面的设定,再来一次流程。

当下载文件完毕后,rustup可能自动关闭。

打开命令提示符,也就是cmd。

输入rustc -V,记得是大写的V。
在这里插入图片描述

出现相关信息后,标明安装rust成功了。

rustup show 

在这里插入图片描述

#安装其他类型的toolchain开发环境
rustup toolchain install <toolchain>

#例如
rustup toolchain install  stable-x86_64-pc-windows-gnu

#切换默认的toolchain
rustup default [toolchain]

#例如
rustup default stable-x86_64-pc-windows-gnu

#更新:
rustup update stable
rustup default stable

#用Cargo运行如下命令新建工程:
PS D:\vstest\main> cargo new hello_cargo
Created binary (application) `hello_cargo` package


http://www.niftyadmin.cn/n/5387242.html

相关文章

AI新工具(20240222)SDXL-Lightning-节跳动开发一个快速的文本到图像生成模型;GoEnhance - 视频风格转换等

SDXL-Lightning - 节跳动开发一个快速的文本到图像生成模型 SDXL-Lightning是字节跳动开发一个快速的文本到图像生成模型&#xff0c;能够在几个步骤内生成高质量的1024像素图像。该模型发布用于研究目的&#xff0c;可以从stabilityai/stable-diffusion-xl-base-1.0中提取模型…

vs code解决无法识别已安装python库的问题(Mac版)

问题点&#xff1a;在vs code中输入代码&#xff0c;执行时发现未安装python库&#xff0c;然后在终端中进行安装后执行&#xff0c;仍提示未安装python库。 可能的原因有&#xff1a; 1、右下角python解释器配置错误&#xff1b; 2、在终端未正确输入安装命令&#xff1b; …

JavaScript库之Jquery详细简介

jQuery是一个快速、小巧且功能丰富的JavaScript库。它极大地简化了HTML文档遍历和操作、事件处理、动画和Ajax交互的过程。jQuery易于使用&#xff0c;并且有着广泛的社区支持&#xff0c;使得它成为许多前端开发者首选的工具。 以下是jQuery的一些关键特点&#xff1a; 1. *…

139.单词拆分【leetcode】/动态规划

139.单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&#xff1a; 输入: s “leetco…

RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?<= , (?= , (?<! , (?!

RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?< , (? , (?<! , (?! 有好多种称呼 (?< , (? , (?<! , (?! 有好多种称呼 , 我称为: 左限定, 右限定, 左否定, 右否定 (?<左限定)    (?右限定)(?<!左否定)    (?!右限定) 再…

面向对象的常见问题

面向对象的三大特性 封装&#xff1a;隐藏细节&#xff0c;提高代码重用性 继承&#xff1a;通过子类继承父类&#xff0c;提高代码的扩展性&#xff1b;继承是多态的前提。 多态&#xff1a;提高代码的灵活性&#xff0c;降低耦合性 什么是构造方法 方法名称与类名一致、…

市场复盘总结 20240222

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率中 25% 最常用…

Linux密码重置不求人:三种方法教你轻松搞定普通用户密码更改

在Linux服务器管理中&#xff0c;为普通用户设置和管理密码是一项基础且重要的任务。通过为普通用户设置登录密码&#xff0c;可以确保系统的安全性和用户访问的合法性。本文将详细介绍在Linux系统中&#xff0c;如何通过三种不同的方法为普通用户设置登录密码。 Linux下&…