Rust kompiliert nicht unter Windows? Das Problem mit dem Linker link.exe lösen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Ihr erstes "Hello, world!" in Rust, das nicht funktionieren will

\n\n

Sie haben gerade Rust installiert, ein Terminal geöffnet, Ihren ersten Code in dieser eleganten und sicheren Sprache geschrieben, cargo run eingegeben – und sofort eine verwirrende rote Zeile erhalten:

\n\n
error: linker `link.exe` not found\n  |\n  = note: The system cannot find the file specified. (os error 2)\n
\n\n

Kommt Ihnen bekannt vor? Keine Panik! Sie sind auf eines der häufigsten Probleme bei Anfängern gestoßen, die auf Windows mit Rust arbeiten. Dieser Fehler ist kein Compiler-Bug und kein Fluch. Es ist einfach ein Missverständnis zwischen Ihrem neuen Freund Rust und dem Betriebssystem. Tausende Entwickler haben dies auf Stack Overflow durchgemacht, und heute werden wir diese Situation ein für alle Mal klären. Willkommen in der Welt der Systemprogrammierung unter Windows – hier braucht es etwas mehr, als nur die Sprache zu installieren.

\n\n

Warum findet Rust link.exe nicht? Die Ursache des Problems verstehen

\n\n

Um zu verstehen, warum der Fehler linker link.exe not found auftritt, müssen wir unter die Haube des Kompilierungsprozesses schauen. Wenn Sie rustc main.rs oder cargo build schreiben, kompiliert Rust Ihren Code in Objektdateien. Aber damit ist es noch nicht getan. Um eine ausführbare Datei (.exe) zu erhalten, müssen diese Objektdateien gelinkt (verbunden) werden. Diese Aufgabe übernimmt ein spezielles Programm – der Linker.

\n\n

Unter Windows ist der Standard-Linker link.exe aus dem Toolset Microsoft Visual C++ (MSVC). Rust, als eine Sprache, die "befreundet" mit dem systemeigenen Compiler ist, wählt standardmäßig den MSVC-Toolchain (sofern Sie bei der Installation nichts anderes angegeben haben). Das Problem ist, dass dieser Linker nicht Teil von Windows ist. Er wird mit Visual Studio oder dem separaten Paket Build Tools for Visual Studio ausgeliefert.

\n\n

Der entscheidende Punkt: Rust kann link.exe nicht finden, weil es entweder einfach nicht auf Ihrem Computer installiert ist oder nicht zur systemweiten Umgebungsvariable PATH hinzugefügt wurde.

\n\n

Kurze Checkliste: Was könnte schiefgelaufen sein?

\n
    \n
  • Sie haben Rust über rustup-init.exe installiert und überall "Enter" gedrückt. Das ist normal, aber der Installer installiert kein Visual Studio.
  • \n
  • Sie haben Visual Studio Code oder eine andere IDE installiert, aber nicht Visual Studio. Das ist nicht dasselbe.
  • \n
  • Sie haben bei der Installation den GNU-Toolchain ausgewählt. Wenn ja, benötigen Sie nicht MSVC, sondern GCC (z. B. über MinGW). Aber heute sprechen wir über den Standard-MSVC.
  • \n
\n\n

Lösung Nr. 1: Installation der Visual Studio Build Tools (Empfohlene Methode)

\n\n

Dies ist der korrekteste und "native" Weg für Windows. Microsoft bietet ein kostenloses Paket an, das nur den Compiler und Linker enthält – ohne die sperrige IDE.

\n\n
    \n
  1. Laden Sie den Installer herunter: Gehen Sie auf die offizielle Microsoft-Website und laden Sie die Build Tools for Visual Studio 2022 herunter. Suchen Sie nach "Visual Studio 2022 Build Tools".
  2. \n
  3. Starten Sie die Installation: Führen Sie die heruntergeladene Datei vs_BuildTools.exe aus.
  4. \n
  5. Wählen Sie die Komponenten aus: Wählen Sie im Installer den Reiter "Workloads". Aktivieren Sie das Kontrollkästchen "Desktop development with C++".
  6. \n
  7. Installation: Klicken Sie unten rechts auf die Schaltfläche "Installieren". Der Vorgang kann 10-20 Minuten dauern, da etwa 2-3 GB Daten heruntergeladen werden.
  8. \n
  9. Neustart (optional): Starten Sie Ihren Computer nach Abschluss der Installation neu, damit die Umgebungsvariablen aktualisiert werden.
  10. \n
\n\n

Öffnen Sie danach ein neues Terminal und versuchen Sie erneut, Ihr Projekt zu kompilieren:

\n\n
cargo new hello_world                

Blogs

Buchempfehlungen