Compile & Run
test blocks in the given file.Common Flags
| Flag | Purpose |
|---|---|
-OReleaseFast | Optimize for speed, disable safety checks |
-OReleaseSafe | Optimize for speed, keep safety checks (recommended) |
-OReleaseSmall | Optimize for binary size |
-ODebug | Default. No optimizations, full safety checks and debug info |
-target x86_64-linux-gnu | Cross-compile to a specific target triple |
-lc | Link against libc |
--pkg-begin / --pkg-end | Define a module dependency inline (legacy; prefer build.zig) |
Cross-Compilation
Zig can cross-compile to over 40 targets out of the box, including every major OS and architecture. No extra toolchains needed.
# List all supported targets
zig targets | jq '.arch'
# Build for ARM Linux from any host
zig build-exe src/main.zig -target aarch64-linux-gnu
# Build for Windows from Linux/macOS
zig build-exe src/main.zig -target x86_64-windows-msvc
# Build for macOS from Linux
zig build-exe src/main.zig -target x86_64-macos-none
# Use Zig as a drop-in C cross-compiler
zig cc -target aarch64-linux-gnu hello.c -o hello
Package Manager (0.12+)
# Add a dependency to build.zig.zon
zig fetch --save https://github.com/user/repo/archive/main.tar.gz
# build.zig.zon declares dependencies
.{
.name = "my-project",
.version = "0.1.0",
.dependencies = .{
.@"zig-clap" = .{
.url = "https://github.com/Hejsil/zig-clap/archive/v0.4.0.tar.gz",
.hash = "122053...",
},
},
}