0%

go-交叉编译教程

Go Mod命令:

go mod tidy      // 查漏补缺 go.mod下的库配置,如果存在导入但是却没有库 .. 会自动安装

Go 的跨平台交叉编译:

Mac 下编译 Linux 和 Windows 64位可执行程序:

# 编译当前程序为 linux 64位 可执行文件
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

# 编译当前程序为 windows 64位 可执行文件
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Linux 下编译 Mac 和 Windows 64位可执行程序:

# 编译当前程序为 Mac 64位 可执行文件
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build

# 编译当前程序为 windows 64位 可执行文件
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Windows 下编译 Mac 和 Linux 64位可执行程序:

# 编译当前程序为 Mac 64位 可执行文件
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build

# 编译当前程序为 linux 64位 可执行文件
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build


交叉编译支持可选参数:

GOOS:目标平台的操作系统(darwinfreebsdlinuxwindows

GOARCH:目标平台的体系架构(386amd64arm

交叉编译不支持 CGO 所以要禁用它

windows下面 powershell不行,要cmd