Avatar ·

Como compilar um aplicativo Rust para Windows no Linux? Cross-compilação do zero

Olá a todos! Estou escrevendo um pequeno aplicativo CLI em Rust no Linux, mas preciso que ele funcione também no Windows. O problema é que não quero mudar para o Windows apenas para compilar — quero gerar o arquivo exe diretamente do Ubuntu. Adicionei o target `x86_64-pc-windows-gnu` via `rustup target add`, mas ao tentar compilar com `cargo build --target x86_64-pc-windows-gnu` recebo vários erros de linkagem, 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 ``` Li que é necessário o MinGW-w64, instalei via apt, mas os erros persistem. Também tentei instalar `mingw-w64` — não adiantou. Meu código é simples: ```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!("{}"