web-dev-qa-db-fra.com

Golang: comment croiser la compilation sur Linux pour Windows

Comment compiler de manière croisée un projet Go sous Linux pour générer un exécutable à exécuter sous Windows?

14
shagul

Pour construire de Linux vers Windows, vous devez définir les variables d'environnement GOOS sur Windows et GOARCH sur AMD64.

Sur Bash ou ZSH:

% GOOS=windows GOARCH=AMD64 go build

Si votre package nécessite CGO, vous devez utiliser le compilateur mingw-w64:

Sudo apt-get install gcc-multilib
Sudo apt-get install gcc-mingw-w64

GOOS=windows GOARCH=386 \
  CGO_ENABLED=1 CXX=i686-w64-mingw32-g++ CC=i686-w64-mingw32-gcc \
  go build
19
Michael Miller