Golang 多平台交叉编译

2018-02-09 12:26:34来源:https://www.jianshu.com/p/32b0b8e56eb7作者:ChainZhang人点击

分享


本文为转载,原文: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 多平台交叉编译








微信扫一扫

第七城市微信公众平台