golang交叉编译【禁止CGO】
# 如果你想在Windows 32位系统下运行
➜ ~CGO_ENABLED=0 GOOS=windows GOARCH=386 go build test.go
# 如果你想在Windows 64位系统下运行
➜ ~CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go
# 如果你想在OS X 32位系统下运行
➜ ~CGO_ENABLED=0 GOOS=darwin GOARCH=386 go build test.go
# 如果你想在OS X 64位系统下运行
➜ ~CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go
# 如果你想在Linux 32位系统下运行
➜ ~CGO_ENABLED=0 GOOS=linux GOARCH=386 go build test.go
# 如果你想在Linux 64位系统下运行
➜ ~CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go
更多的平台
GOOS GOARCH
android arm
darwin 386
darwin amd64
darwin arm
darwin arm64
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
linux 386
linux amd64
linux arm
linux arm64
linux ppc64
linux ppc64le
linux mips
linux mipsle
linux mips64
linux mips64le
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
openbsd arm
plan9 386
plan9 amd64
solaris amd64
windows 386
windows amd64
Ubuntu交叉编译的程序【带CGO】
sudo apt-get install g++-arm-linux-gnueabi
sudo apt-get install gcc-arm-linux-gnueabi
# Build for arm
CGO_ENABLED=1 GOOS=linux GOARCH=arm CC=arm-linux-gnueabi-gcc go build
linux上编译arm平台的二进制【带CGO】
sudo apt-get install libc6-armel-cross libc6-dev-armel-cross binutils-arm-linux-gnueabi libncurses5-dev
sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
CGO_ENABLED=1 GOOS=linux GOARCH=arm go build
在linux上编译arm64平台的二进制【带CGO】
sudo apt-get install gcc-aarch64-linux-gnu
CGO_ENABLED=1 GOOS=linux GOARCH=arm64 go build