Go语言Golang程序员

Golang 多平台交叉编译

2018-02-08  本文已影响112人  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 多平台交叉编译

上一篇下一篇

猜你喜欢

热点阅读