Avatar ·

Cómo compilar una aplicación Rust para Windows desde Linux? Compilación cruzada desde cero

¡Hola a todos! Estoy escribiendo una pequeña aplicación CLI en Rust en Linux, pero necesito que funcione también en Windows. El problema es que no quiero cambiarme a Windows solo para compilar — quiero compilar el archivo exe directamente desde Ubuntu. Agregué el target `x86_64-pc-windows-gnu` mediante `rustup target add`, pero al intentar compilar con `cargo build --target x86_64-pc-windows-gnu` obtengo un montón de errores de linking, como: ``` 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 ``` Leí que se necesita MinGW-w64, lo instalé mediante apt, pero los errores persisten. También probé instalar `mingw-w64` — no ayudó. Mi código es 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!("{}"