Avatar ·

Comment compiler une application Rust pour Windows depuis Linux ? Cross-compilation à partir de zéro

Bonjour à tous ! J'écris une petite application CLI en Rust sous Linux, mais j'ai besoin qu'elle fonctionne aussi sous Windows. Le problème est que je ne veux pas passer sous Windows juste pour la compilation — je veux compiler un fichier exe directement depuis Ubuntu. J'ai ajouté la cible `x86_64-pc-windows-gnu` via `rustup target add`, mais quand j'essaie de compiler avec `cargo build --target x86_64-pc-windows-gnu`, j'obtiens un tas d'erreurs de linkage, comme : ``` error: linking with `x86_64-w64-mingw32-gcc` failed: exit status: 1 | = note: /usr/bin/x86_64-w64-mingw32-ld: cannot find -ladvapi32 /usr/bin/x86_64-w64-mingw32-ld: cannot find -luserenv ``` J'ai lu qu'il fallait MinGW-w64, je l'ai installé via apt, mais les erreurs persistent. J'ai aussi essayé d'installer `mingw-w64` — ça n'a pas aidé. Mon code est simple : ```rust use std::process::Command; fn main() { let output = Command::new("cmd") .args(&["/C", "echo Hello from Windows!"]) .output() .expect("failed to execute process"); println!("{}"