153 lines
4.7 KiB
Markdown
153 lines
4.7 KiB
Markdown
# 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:
|
||
|
||
<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
|