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
【励志篇】:
古之成大事掌大学问者,不惟有超世之才,亦必有坚韧不拔之志。