golang不同环境的交叉编译

本文介绍了如何在不同操作系统上使用Golang进行交叉编译,包括Windows编译Linux及Mac程序、Linux编译Windows程序的方法,并提供了使用gox工具简化交叉编译流程的指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.youkuaiyun.com/panshiqu/article/details/53788067

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值