Cross-Compilation

The target triple is arch-os-abi (e.g., x86_64-linux-gnu, aarch64-windows-gnu, arm-linux-musleabihf).

libc is bundled for glibc (with version selection), musl, mingw-w64, wasi-libc, and macOS. Cross-compiling with libc works out of the box.

Multiple targets from build.zig: loop over a list of b.resolveTargetQuery(...) results and add an executable per target (release pipelines).

Run foreign binaries in tests with -fqemu, -fwine, -fwasmtime, or -fdarling (when installed).

zig targets | less                                         # supported targets (JSON)
zig build-exe main.zig -target x86_64-windows              # → main.exe
zig build-exe main.zig -target aarch64-macos               # → macOS ARM64
zig build-exe main.zig -target x86_64-linux-musl           # static Linux binary
zig build-exe main.zig -target riscv64-linux
zig build-exe main.zig -target wasm32-wasi
zig build-exe main.zig -target thumb-freestanding-eabihf -mcpu cortex_m4
zig build -Dtarget=aarch64-linux-gnu.2.28 -Dcpu=cortex_a72
zig build-exe main.zig -mcpu=native                        # tune for the local CPU (not portable)