# Rust-Toolchain mit MSVC unter Windows einrichten Dieser Artikel beschreibt die vollständige Einrichtung einer produktionsfähigen Rust-Toolchain mit **MSVC (Microsoft Visual C++)** unter **Windows**, einschließlich Erstellung einer `.exe`-Datei aus einem Beispielprogramm. ## Inhalt - [Rust-Toolchain mit MSVC unter Windows einrichten](#rust-toolchain-mit-msvc-unter-windows-einrichten) - [Inhalt](#inhalt) - [Voraussetzungen](#voraussetzungen) - [1. Rust installieren](#1-rust-installieren) - [2. Visual Studio Build Tools installieren](#2-visual-studio-build-tools-installieren) - [Schritt-für-Schritt](#schritt-für-schritt) - [3. Umgebungsvariablen setzen (optional)](#3-umgebungsvariablen-setzen-optional) - [4. Beispielprojekt erstellen](#4-beispielprojekt-erstellen) - [5. Projekt kompilieren](#5-projekt-kompilieren) - [Debug-Build (schnell, nicht optimiert)](#debug-build-schnell-nicht-optimiert) - [Release-Build (optimiert, kleine `.exe`)](#release-build-optimiert-kleine-exe) - [6. Optional: `.exe` testen](#6-optional-exe-testen) - [7. Troubleshooting](#7-troubleshooting) - [8. Alternative: Toolchain in einem Offline-Installer vorbereiten](#8-alternative-toolchain-in-einem-offline-installer-vorbereiten) - [Zusammenfassung](#zusammenfassung) - [Weiterführende Themen](#weiterführende-themen) --- ## Voraussetzungen - Windows 10 oder 11 (64 Bit) - Administratorrechte - Mindestens 2 GB freier Speicherplatz ## 1. Rust installieren Lade das offizielle Rust-Installationsprogramm herunter und führe es aus: Beim Setup: - **Toolchain wählen**: `default host triple: x86_64-pc-windows-msvc` - Folge dem Assistenten, um `rustc`, `cargo` und `rustup` zu installieren. Verifiziere die Installation: ```shell rustc --version cargo --version ``` ## 2. Visual Studio Build Tools installieren Die Rust-Toolchain mit MSVC benötigt den **"C++ Build Tools"**-Teil von Visual Studio. ### Schritt-für-Schritt 1. Lade den **Visual Studio Installer**: - 2. Wähle bei der Installation: - ✅ **C++ Build Tools** - Und in der rechten Spalte: - ✅ "MSVC v14.x - VS 2022 C++ x64/x86-Buildtools" - ✅ "Windows 10 SDK" oder "Windows 11 SDK" (je nach Zielsystem) - ✅ "C++ CMake-Tools für Windows" (optional für CMake-Projekte) 3. Installiere alles und starte das System neu, falls verlangt. ## 3. Umgebungsvariablen setzen (optional) Falls du die Buildtools über Kommandozeile verwenden willst, öffne: ```cmd "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat" ``` Das setzt temporär alle notwendigen Umgebungsvariablen für den Build-Prozess. ## 4. Beispielprojekt erstellen ```cmd cargo new hello_world cd hello_world ``` Beispielcode in `src/main.rs`: ```rust fn main() { println!("Hallo Welt – kompiliert mit MSVC!"); } ``` ## 5. Projekt kompilieren ### Debug-Build (schnell, nicht optimiert) ```cmd cargo build ``` ### Release-Build (optimiert, kleine `.exe`) ```cmd cargo build --release ``` Die fertige `.exe` liegt unter: .\target\release\hello_world.exe ## 6. Optional: `.exe` testen ```cmd .\target\release\hello_world.exe ``` ## 7. Troubleshooting - **Fehlermeldung `link.exe not found`?** → Build-Tools sind nicht korrekt installiert (siehe Schritt 2) - **Fehlermeldung zu fehlendem SDK?** → Stelle sicher, dass du das passende Windows SDK mit installiert hast - **MSVC und GNU Toolchain gleichzeitig installiert?** → Du kannst über `rustup` zwischen beiden wechseln: ```cmd rustup show rustup default stable-x86_64-pc-windows-msvc ``` ## 8. Alternative: Toolchain in einem Offline-Installer vorbereiten Wenn du das Setup auf mehreren Rechnern ohne Internetzugang durchführen möchtest, siehe [separater Artikel zur Erstellung eines Installationsmediums](./rust-offline-installation.md). ## Zusammenfassung | Komponente | Aufgabe | |------------------|----------------------------------| | Rustup | Verwaltung von Toolchains | | Cargo | Buildsystem und Paketmanager | | MSVC Build Tools | C++-Compiler/Linker für Windows | | `vcvars64.bat` | Aktiviert Build-Umgebung | | `cargo build` | Erstellt `.exe` mit Rust und MSVC | ## Weiterführende Themen - Einbindung von Ressourcen und Icons in die `.exe` - Verwendung von `cc`/`bindgen` für C-Bindings - Cross-Kompilierung mit `x86_64-pc-windows-gnu` oder Linux-Zielsystemen - Automatisierter Build via Makefile oder PowerShell