Window上rust语言碰到the msvc targets depend on the msvc linker but `link.exe` was not found

584 阅读2分钟

或者是报错如下:

cargo run
   Compiling hello-rust v0.1.0 (D:\gantStudyDemo\hello-rust)
error: linker `link.exe` not found
  |
  = note: program not found
note: the msvc targets depend on the msvc linker but `link.exe` was not found
note: please ensure that Visual Studio 2017 or later, or Build Tools for Visual Studio were installed with the Visual C++ option.
note: VS Code is a different product, and is not sufficient. 

错误原因

这个错误表明编译Rust程序时没有找到MSVC linker,需要通过安装Visual Studio 2017或更高版本或Visual Studio Build Tools解决该问题。这是因为Rust编译器通常使用Microsoft的C++编译器来编译Rust程序。

可以按照以下步骤来解决该问题:(不推荐用下面的方式)

访问Rust官方网站下载安装 Rust。
通过Rust官方指南中的步骤,检查您的安装是否成功。
如果您没有安装Visual Studio或Build Tools,则需要 下载并安装 Visual Studio 2017或更高版本 或 Build Tools for Visual Studio。
确保在安装Visual Studio期间选择了Visual C++选项。
如果已安装Visual Studio或Build Tools,则尝试运行rustup default stable-x86_64-pc-windows-msvc,它会设置rustup工具链使用上面安装的MSVC工具链。
如果您已经按照上述步骤安装了Visual Studio或Build Tools,但仍然出现了相同的错误,请检查link.exe是否有没有与PATH环境变量中的位置。

注意!!!你会发现按照上面那样解决很麻烦,而且电脑配置没有那么好的情况下,去下载VS,你的电脑更加经不起折腾了。

正确解决方式

在命令行窗口中运行下面的命令:

先卸载掉旧的依赖

rustup uninstall toolchain stable-x86_64-pc-windows-msvc

 安装新的依赖

rustup toolchain install stable-x86_64-pc-windows-gnu

 设置为默认依赖

rustup default stable-x86_64-pc-windows-gnu

最后提示成功即可再次运行你的程序:

再次运行你的程序: