Golang 多平台交叉编译 - Go语言中文社区

Golang 多平台交叉编译


本文为转载,原文:Golang 多平台交叉编译

Golang

介绍

一直以来都是在windows上写go,从来没有试过如何在windows环境下编译成mac或linux环境下可执行的文件。

当然,我的要求是在别的环境中不用安装go的环境。可直接运行的那种。

那么,如何做呢?网上找了很久,找到了一个总结的很到位的文章:Golang 在 Mac、Linux、Windows 下如何交叉编译

在这里,我也做一份备忘。

mac

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

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

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

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

linux

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

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

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

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

windows

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

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

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

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

参数介绍

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

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

交叉编译不支持 CGO 所以要禁用它

上面的命令编译 64 位可执行程序,你当然应该也会使用 386 编译 32 位可执行程序

本文为原创,转载请注明出处:
Golang 多平台交叉编译

版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/32b0b8e56eb7
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-29 15:38:54
  • 阅读 ( 1316 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢