Save Load
GitHub 切换暗/亮/自动模式 切换暗/亮/自动模式 切换暗/亮/自动模式 返回首页

Window10 下搭建 Rust 环境

Window10 下搭建 Rust 环境

首先要说明的是,本文是介绍 windows + MSYS2 + Rust ,非 MSVC。

Windows作业系统中的Rust程式,预设会使用MSVC来编译的。但是如果Rust程式有使用到GNU相关的函式库(例如GTK)时,就得搭配MinGW来编译了。MSYS2 是一套整合MinGW和POSIX环境的工具,可以在Windows作业系统上模拟出Linux作业系统的开发环境,且能利用MinGW直接编译出在Windows作业系统上执行的程式。

1、安装和设定 MSYS2

已经有其他博文做过介绍,参考即可

2、安在Windows作业系统安装Rust开发环境

现在官方推荐使用 rustup 来安装 Rust 环境。

首先在MSYS2的终端机上执行以下指令:

curl https://sh.rustup.rs -sSf | sh

注意,在 Windows 上面,Rust 编译需要 Visual C++ Build Tools。请先安装这个之后再安装 rustup。

安装程式可能会提示说需要微软的Visual C++ Build Tools。不要理它,输入「y」继续。

选择第二个选项,自定义Rust要如何安装

host triple的部份,输入「x86_64-pc-windows-gnu」,也就是我们的Rust编译器预设使用的目标(target)名称。

接着输入Rust的版本,建议使用「stable」,如果有nightly需求的话就用「nightly」吧!

概要文件(要安装哪些工具和数据)?(最小/违约/完成) Profile (which tools and data to install)? (minimal/default/complete)

default

接着设定是否要修改「PATH」环境变数,输入「y」。

然后回到选单,选择第一项,开始用我们刚才的设定来安装Rust。

更新与卸载

更新所有 Rust,运行:

 rustup update

校验Rust编译环境

rustc --version
cargo --version

检查 rustup 自身是否有更新:

 rustup self update

卸载 rustup:

rustup self uninstall

配置代理:

卡在 update crates.io

crates.io 镜像

在~/.cargo 下:创建一个 config 文件,

将下面的代码贴进去:

# 放到 `$HOME/.cargo/config` 文件中
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"

# 替换成你偏好的镜像源
#replace-with = 'sjtu'
#replace-with = 'ustc'
replace-with = 'rsproxy'

# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"

# 字节跳动 rsproxy
[source.crates-io]
# To use sparse index, change 'rsproxy' to 'rsproxy-sparse'

[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"

[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"

[net]
git-fetch-with-cli = true

RustUp 镜像

国内有些地区访问 RustUp 的服务器不太顺畅,设置环境变量

中科大的 RustUp 镜像

RUSTUP_DIST_SERVER=http://mirrors.ustc.edu.cn/rust-static
RUSTUP_UPDATE_ROOT=http://mirrors.ustc.edu.cn/rust-static/rustup

字节跳动

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

Rust GTK

GTK_LIB_DIR=C:\msys64\mingew64\bin PKG_CONFIG_ALLOW_CROSS=1
The error persisted so I added the environment variable PKG_CONFIG_PATH = H:\MSYS2\usr\lib\pkgconfig, and I added H:\MSYS2\usr\lib\pkgconfig to the path variable