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!("{}"