go build 交叉编译各系统下的可执行文件(windows,linux,macOS) - Go语言中文社区

go build 交叉编译各系统下的可执行文件(windows,linux,macOS)


方法

假设所需的输出文件名称为name,而当前目录的主函数为main.go

Mac下编译Linux, Windows平台的64位可执行程序

CGO_ENABLED=0  GOOS=linux    GOARCH=amd64 go build -o name main.go
CGO_ENABLED=0  GOOS=windows  GOARCH=amd64 go build -o name main.go

Linux下编译Mac, Windows平台的64位可执行程序

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

Windows下编译Mac, Linux平台的64位可执行程序

SET CGO_ENABLED=0  SET GOOS=darwin3 SET GOARCH=amd64 go build -o name main.go
SET CGO_ENABLED=0  SET GOOS=linux   SET GOARCH=amd64 go build -o name main.go

参数的名字分别对应的是:
GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows
GOARCH:目标可执行程序操作系统构架,包括386,amd64,arm

Tips

在windows下,如果需要生成.exe文件。可以直接在name后面加上后缀.exe

CGO_ENABLED=0  GOOS=windows  GOARCH=amd64 go build -o name.exe main.go

在macOS下,如果需要生成app,可以按以下方式操作

mkdir -p name.app/Contents/MacOS
go build -o name.app/Contents/MacOS/zTrans
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_39578356/article/details/127263334
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2023-01-03 14:35:02
  • 阅读 ( 405 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢