adminslog/dokus/rust/rust-toolchain-msvc.md

153 lines
4.7 KiB
Markdown
Raw Normal View History

2025-06-27 12:58:02 +02:00
# 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 2GB freier Speicherplatz
## 1. Rust installieren
Lade das offizielle Rust-Installationsprogramm herunter und führe es aus:
<https://rustup.rs>
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**:
- <https://visualstudio.microsoft.com/de/visual-cpp-build-tools/>
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