我知道已经有大量类似的 stackoverflow 主题,但我仍然无法解决我自己的情况,我需要帮助。
我使用的是 Windows 11,安装了 2019 和 2022 Visual Studio 构建工具。
PS C:\Users\Username\Development\dogcat> winget list | Select-String "build tools"
Visual Studio Build Tools 2019 Microsoft.VisualStudio.2019.BuildTools 16.11.33 winget
Visual Studio Build Tools 2022 Microsoft.VisualStudio.2022.BuildTools 17.8.6 winget
并且还安装了 Visual Studio 2022、Visual C++。
PS C:\Users\Username\Development\dogcat> winget list | Select-String "Visual Studio Community"
Visual Studio Community 2022 (2) Microsoft.VisualStudio.2022.Community 17.9.1 winget
PS C:\Users\Username\Development\dogcat> winget list | Select-String "VCRedist"
Microsoft Visual C++ 2015-2022 Redistrib… Microsoft.VCRedist.2015+.x86 14.38.33135.0
winget
Microsoft Visual C++ 2015-2022 Redistrib… Microsoft.VCRedist.2015+.x64 14.38.33135.0
winget
对于 Rust 编译器,这个
PS C:\> winget list | Select-String "Rust"
Rust 1.76 (MSVC 64-bit) Rustlang.Rust.MSVC 1.76.0.0 winget
我之前使用 rustup 包(来自 winget)尝试过同样的事情,并得到了相同的结果。
全部通过winget。我收到以下错误。
PS C:\Users\Username\Development\dogcat> cargo run
Compiling dogcat v0.1.0 (C:\Users\Username\Development\dogcat)
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.
error: could not compile `dogcat` (bin "dogcat") due to 1 previous error
fdfind 从根目录搜索 link.exe 给我没有任何有价值的东西
PS C:\> fd link.exe
Program Files\Rust stable MSVC 1.76\lib\rustlib\x86_64-pc-windows-msvc\bin\gcc-ld\lld-link.exe
Program Files\Git\usr\bin\unlink.exe
Program Files\Git\usr\bin\readlink.exe
Program Files\Git\usr\bin\link.exe
Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\usr\bin\readlink.exe
另外,我浏览了这个 Microsoft 官方页面,用于安装适用于 Windows 11 的 Windows SDK。我在这里做错了什么?
我尝试了一些 GitHub issues 和 stackoverflows 中针对此错误编写的所有内容。我什至多次重新启动计算机(我认为这是浪费时间)。还是没有希望。
我最终从 Visual Studio 安装程序安装了 C++ 桌面开发套件 ,这对我来说是一个艰难的决定。我想从 winget 内部管理一切,但我想这不可行,只要您使用的是 Windows。
我要感谢那些对这篇文章投反对票的人。让我意识到 Windows 不适合我。