XIKEW.COM - 实用教程 - 别浮躁!Rust环境搭建没有那么难 - 实用教程,Rust, link.exe, not found - 关于 **Link.exe** 的报错,会让新接触Rust的人有点气馁。就像雄心壮志的英勇刚踏出门,就摔了一个狗啃泥...

别浮躁!Rust环境搭建没有那么难
RUST 编程 学习 教程 9/19/2024 4:36:32 PM 阅读:2

关于 Link.exe 的报错,会让新接触Rust的人有点气馁。就像雄心壮志的英勇刚踏出门,就摔了一个狗啃泥... 关键字: Rust, link.exe, not found [[toc]]

在线工具

如果你还没想好是否要学习Rust也不想折腾去部署开发环境,你可以使用官方在线工具进行学习和调试 https://play.rust-lang.org/

环境搭建(Windows)

Rust 经过这几年的发展沉淀,网络上已经有不少的教程可以参考了。 如果您是 Windows 的 Linux 子系统(WSL)用户,要安装 Rust,请在终端中运行以下命令,然后遵循屏幕上的指示。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

如果是纯Windows开发,可以先安装

创建项目

cargo new hello-rust

第一个报错

cd hello-rust
cargo run

::: danger error: linker link.exe not found :::

官方指导教程

您似乎正在运行 Windows。要使用 Rust,请下载安装器,然后运行该程序并遵循屏幕上的指示。当看到相应提示时,您可能需要安装 Microsoft C++ 生成工具

Visual Studio 的安装工具令人迷茫,好在 Rust 提供了第二种方案!

MinGW-w64

部署 MinGW 不推荐使用官网,因为Github的下周速度相比会好很多! ::: tip github 的版本比较多,Windows 10 以上系统 ucrt :::

只要在系统变量中添加bin的目录就算完成了。

Description{{{width="auto" height="auto"}}}

现在就可以使用 rustup-init.exe 选择 2.Customize installation 并将 msvc 改成 gnu 进行安装了!

Description{{{width="auto" height="auto"}}}

其他配置全部默认,再回到这个选择页面选1开始安装

成功运行

Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.10s
Running `target\debug\hello-rust.exe`
Hello, world!

Windows 下 Cargo 的缓存目录

::: tip 如果你的用户名名带中文,可能会在一些项目编译上报 Not Found 错误 所以为了避免发生问题,推荐统一将 Cargo 的缓存目录改成英文的

只需要在 用户变量系统变量 中添加 CARGO_HOME = 路径 就可以了 :::

疑惑延展

link.exe 是什么?

link.exe 是微软的编译器(如 Visual C++ 编译器)中的链接器程序,通常是作为微软 Visual Studio 安装的一部分提供的。 链接器的主要作用是将编译器生成的目标文件(.obj 文件)以及所需的库文件组合在一起,生成可执行文件(如 .exe 文件)或动态链接库(如 .dll 文件)。 它处理诸如解决符号引用、确定内存布局、合并段等任务,以创建一个完整的、可运行的程序或库。

为什么 Rust 要用到 link.exe?

Rust 本身并不直接使用 link.exe 。 然而,如果您在 Windows 上使用某些与 Rust 相关的工具链或构建系统,并且它们依赖于底层的 C/C++ 工具链(可能是为了与 C/C++ 代码进行交互,或者使用了某些基于 C/C++ 构建的依赖项),那么在构建过程中可能会间接调用 link.exe 来完成链接操作。 但这并不是 Rust 语言本身的直接要求,而是特定的构建配置或依赖所导致的。