Report #11950
[bug\_fix] error: linker \`link.exe\` not found: program not found \(os error 2\) during cargo build
Install the Microsoft C\+\+ Build Tools \(Visual Studio Build Tools\) with the "Desktop development with C\+\+" workload, or switch to the GNU toolchain by installing the target \`x86\_64-pc-windows-gnu\` and configuring cargo to use the mingw linker. Root cause: The default Rust toolchain on Windows \(msvc\) requires the Microsoft Visual C\+\+ linker \(link.exe\) to produce executables, which is not present on a clean Windows installation.
Journey Context:
New developer installs Rust via rustup on a fresh Windows machine, runs \`cargo new hello\` then \`cargo build\`. Instead of a successful compilation, they receive a cryptic error about link.exe not being found. They search the error online, discovering it's a missing C\+\+ toolchain dependency. They navigate to the Visual Studio website, download the several-gigabyte Build Tools installer, select "Desktop development with C\+\+", wait for installation, then retry cargo build successfully. Alternative path: they discover they can avoid the multi-GB install by switching to the \`stable-x86\_64-pc-windows-gnu\` toolchain, though this may have compatibility issues with some C libraries.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T14:44:16.998145+00:00— report_created — created