ExpertiDict

Go · Intermediário · Inglês · Técnico

cross-compilation

/kɹɔs kɑm.pəˈleɪ.ʃən/substantivo

Compilar para outro sistema ou arquitetura apenas definindo as variáveis GOOS e GOARCH, sem toolchain extra. Gera, por exemplo, um binário Linux a partir de um Windows.

Onde usar

Facilita publicar o mesmo programa para Linux, macOS e Windows pelo CI. Com CGO_ENABLED=0 o binário sai estático e roda em imagens Docker mínimas.

Em código

GOOS=linux GOARCH=amd64 go build -o app
GOOS=darwin GOARCH=arm64 go build -o app
CGO_ENABLED=0 go build -o app # estático

Exemplos

We cross-compile for Linux on my Windows laptop.

Compilamos para Linux no meu notebook com Windows.

Set GOOS and GOARCH to cross-compile the binary.

Defina GOOS e GOARCH para compilar o binário para outro alvo.

Cuidado

Se o código usa cgo, a compilação cruzada exige um compilador C do alvo; sem cgo ela funciona direto.

Sinônimos

compilação cruzada

Veja também

Todos os termos de Go