Compilar seu código go em um binário é muito simples:
$ go install <package>
Isso construirá o binário para seu sistema operacional e arquitetura atuais. Mas também é possível compilar binários para outros sistemas operacionais e até arquiteturas. Você só precisa modificar algumas variáveis de ambiente:
- GOARCH – a arquitetura, por exemplo, amd64, 386 ou arm
- GOOS – o sistema operacional – linux, darwin ou windows
Construindo o compilador primeiro …
Você pode dar uma olhada na saída de go env
para ver a aparência de sua configuração atual. Mas, para realmente fazer a compilação cruzada, você precisa primeiro construir os compiladores.
Com Mac OS / Homebrew, basta instalar vá com --cross-compile-common
ou --cross-compile-all
. Veja a receita para detalhes.
Se você instalou o Go from source, apenas defina as variáveis e chame ./all.bash
na src
pasta cada combinação GOARCH
/ que GOOS
você precisa.
Este guia pode ajudar se você estiver totalmente perdido.
Construindo seu projeto …
De volta ao nosso projeto. Semelhante a construir o compilador, você só precisa modificar as variáveis de ambiente e chamar go build como antes. Go agora criará uma subpasta que ./bin/
corresponde à sua combinação os / arch. Aqui você encontrará seu binário crosscompiled. Obviamente, você também pode passar o varis em uma linha:
$ GOARCH=arm GOOS=linux go build helloworld
PS: Se você deseja fazer uma compilação cruzada para ARM v5 / v6 CPU (por exemplo, para o raspberry pi), você precisa definir o GOARM=5
uso de diferentes conjuntos de operações para matemática de ponto flutuante.