go build 不同系统下的可执行文件
Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能。
1、Mac下编译Linux, Windows平台的64位可执行程序:
1 2 | $ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test .go $ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test .go |
2、Linux下编译Mac, Windows平台的64位可执行程序:
1 2 | $ CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test .go $ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test .go |
3、Windows下编译Mac, Linux平台的64位可执行程序:
1 2 | $ SET CGO_ENABLED=0SET GOOS=darwin3 SET GOARCH=amd64 go build test .go $ SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build test .go |
注:如果编译web等工程项目,直接cd到工程目录下直接执行以上命令
GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows
GOARCH:目标可执行程序操作系统构架,包括 386,amd64,arm
Golang version 1.5以前版本在首次交叉编译时还需要配置交叉编译环境:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash
大道,在太极之上而不为高;在六极之下而不为深;先天地而不为久;长于上古而不为老
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C#性能优化:为何 x * Math.Sqrt(x) 远胜 Math.Pow(x, 1.5)
· 本可避免的P1事故:Nginx变更导致网关请求均响应400
· 还在手写JSON调教大模型?.NET 9有新玩法
· 复杂业务系统线上问题排查过程
· 通过抓包,深入揭秘MCP协议底层通信
· AI 的力量,开发者的翅膀:欢迎使用字节旗下的 AI 原生开发工具 TRAE
· 千万级的大表如何新增字段?
· 《HelloGitHub》第 112 期
· C#性能优化:为何 x * Math.Sqrt(x) 远胜 Math.Pow(x, 1.5)
· 「闲聊文」准大三的我,思前想后还是不搞java了