suika
文章14
标签15
分类2

在 Windows 上安装 Rust

Rust 是由 Mozilla 主导开发的通用、编译型编程语言。设计准则为“安全、并发、实用”,支持函数式、并发式、过程式以及面向对象的编程风格。

安装 rustup

介绍 rustup

rustup 是一个用于管理 Rust 版本和相关工具的命令行工具,一般通过 rustup 来下载安装 Rust。

下载 rustup

官方下载

安装 Rust

运行下载好的 rustup 程序,会给出如下信息:

Welcome to Rust!

This will download and install the official compiler for the Rust programming
language, and its package manager, Cargo.

It will add the cargo, rustc, rustup and other commands to Cargo's bin
directory, located at:

  C:\Users\<username>\.cargo\bin

This path will then be added to your PATH environment variable by modifying the
HKEY_CURRENT_USER/Environment/PATH registry key.

You can uninstall at any time with rustup self uninstall and these changes will
be reverted.

Current installation options:

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

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>
  • 如果选择 1),默认会安装基于 MSVC 的 Rust 版本
    • 需要配置 C++ build tools 环境
  • 如果选择 2),用户可以选择安装基于 GNU 的 Rust 版本
    • 需要配置 MinGW 环境

选择安装基于 MSVC 的 Rust 版本

  1. 选择 1) Proceed with installation (default)
  2. 配置 C++ build tools 环境

选择安装基于 GNU 的 Rust 版本

  1. 选择 2) Customize installation
  2. 输入 x86_64-pc-windows-gnu
  3. 配置 MinGW 环境

配置 C++ build tools 环境

以管理员权限打开 cmd 或 PowerShell 运行以下命令:

npm install --global windows-build-tools --vs2015
  • 如果你的系统提示找不到 npm 命令,你可能需要安装 Node.js

配置 MinGW 环境

介绍 msys2

msys2 是 Windows 上的一个软件发行和构建平台。自带 pacman 包管理系统,可以快速的下载安装各式各样的软件包。使用 MinGW-w64 工具链, 可以方便的构建本机 Windows 应用程序。

下载安装 msys2

官方下载

安装软件包

打开 msys2.exe 运行以下命令:

pacman -S base-devel
pacman -S mingw-w64-x86_64-toolchain

配置

在 C:\Users\<username>\.cargo 目录下新建 config 文件,输入以下内容并保存:

[target.x86_64-pc-windows-gnu]
linker = "<msys2_path>/mingw64/bin/gcc.exe"
ar = "<msys2_path>/mingw64/bin/ar.exe"
  • <msys2_path>:msys2 的安装目录,例如 D:/msys64
  • <username>:当前系统登录的用户名

One More Thing

你可能会在构建包含 C/C++ 的 Rust 程序上遇到一些问题:

undefined reference to `__imp___acrt_iob_func'

有关此问题的解决方案在 这里

本文作者:suika
本文链接:http://suikastar.com/posts/18690/
版权声明:本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议进行许可

少女祈祷中……