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

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序。

GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)

GOARCH:目标平台的体系架构(386、amd64、arm)

具体组合,详见

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

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

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

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

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

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

CGO_ENABLED=0 GOOS=linux   GOARCH=amd64 go build main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
相关推荐
worthsen34 分钟前
Linux 服务管理 service systemd systemctl
linux·运维
Xiezequan1 小时前
C语言实现跨主机通讯
linux
巴拉特好队友2 小时前
找到一个linux静态库动态库的好资料.3
linux·运维·服务器
Hacker_Fuchen2 小时前
linux 中 Vi 和 Vim 的使用
linux·运维·vim
努力的小T3 小时前
Debian操作系统相对于Ubuntu有什么优势吗?
linux·运维·服务器·ubuntu·centos·云计算·debian
毒丐3 小时前
Debian系软件管理工具命令大全
linux·运维·debian
陈序缘3 小时前
Ubuntu下PyTorch开发环境配置
linux·pytorch·ubuntu·职场和发展
姜豆豆耶3 小时前
kettle经验篇:Pentaho Repository 类型资源库卡顿问题
linux·运维·华为云·etl
LaoZhangGong1234 小时前
Linux第99步_Linux之点亮LCD
linux·stm32mp157·modetest
江东飞过4 小时前
.net core 的文件操作
开发语言·后端·golang