打赏

golang不同环境的交叉编译

golang不同环境的交叉编译

一、设置环境变量方式

1.windows下编译Linux二进制文件

SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build test.g

2.windows下编译Mac

SET CGO_ENABLED=0
SET GOOS=darwin3
SET GOARCH=amd64
go build test.go

3.linux下编译window

CGO_ENABLED=0
GOOS=windows
GOARCH=amd64
go build test.go

二、通过gox编译

1.gox安装

go get github.com/mitchellh/gox
gox -h

2.使用

gox -os "windows" -arch amd64   //window amd64
gox -osarch="linux/amd64
gox -osarch "windows/amd64 linux/amd64"

三、架构说明

  • GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows
  • GOARCH:目标可执行程序操作系统构架,包括 386,amd64,arm
# 用于交叉编译,-o 后面为输出的二进制路径,可以自行修改
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o release/mac/amd64/bin
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o release/linux/amd64/bin
CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -o release/freebsd/amd64/bin
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o release/windows/amd64/bin
CGO_ENABLED=0 GOOS=windows GOARCH=386 go build -o release/windows/386/bin

相关链接

https://blog.csdn.net/panshiqu/article/details/53788067

https://www.cnblogs.com/lifeil/p/5408334.html

https://www.cnblogs.com/junneyang/p/6207129.html

posted @ 2021-06-10 17:42  苍山落暮  阅读(506)  评论(0编辑  收藏  举报