goland在mac下的交叉编译

Golang在 Mac、Linux、Windows 下交叉编译

Windows 下编译 Linux 64位系统的可执行程序

1
2
3
4
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go

Windows 下编译 macOS 64位系统的可执行程序

1
2
3
4
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build main.go

macOS下编译Linux 64位系统的可执行程序

1
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

macOS下编译Windows 64位系统的可执行程序

1
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

Linux下编译Windows 64位系统的可执行程序

1
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

Linux下编译macOS 64位系统的可执行程序

1
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go

GOOS: 目标平台的操作系统(darwin、freebsd、linux、windows)
GOARCH: 目标平台的体系架构(386、amd64、arm)
CGO: 交叉编译不支持 CGO 所以要禁用它