Golangは、1つのプラットフォームで別のプラットフォーム用の実行可能プログラムを生成するクロスコンパイル機能をサポートしています。
go build
、は非常に一般的に使用されるコマンドであり、コンパイルを開始し、パッケージと関連する依存関係を実行可能ファイルにコンパイルできます
//查看环境变量
go env
*注意*
2つの重要な環境変数GOOSとGOARCH
GOOSは、ターゲットオペレーティングシステムを指します。
darwin
freebsd
linux
windows
android
dragonfly
netbsd
openbsd
plan9
solaris
GOARCHは、ターゲットプロセッサのアーキテクチャを指します。
arm
arm64
386
amd64
ppc64
ppc64le
mips64
mips64le
s390x
GOOSとGOARCHの効果的な組み合わせは、複数の実行可能プログラムの生成をサポートし ますhttps://golang.org/doc/install/source#environment
The valid combinations of $GOOS and $GOARCH are:
$GOOS $GOARCH
aix ppc64
android 386
android amd64
android arm
android arm64
darwin amd64
darwin arm64
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
illumos amd64
js wasm
linux 386
linux amd64
linux arm
linux arm64
linux ppc64
linux ppc64le
linux mips
linux mipsle
linux mips64
linux mips64le
linux s390x
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
openbsd arm
openbsd arm64
plan9 386
plan9 amd64
plan9 arm
solaris amd64
windows 386
windows amd64
MacでLinuxおよびWindowsプラットフォーム用の64ビット実行可能プログラムをコンパイルします。
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
LinuxでMacおよびWindowsプラットフォーム用の64ビット実行可能プログラムをコンパイルします。
$ CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
WindowsでMacおよびLinuxプラットフォーム用の64ビット実行可能プログラムをコンパイルします。
$ SET CGO_ENABLED=0 SET GOOS=darwin3 SET GOARCH=amd64 go build main.go
$ SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build main.go