返回博客

Go 语言交叉编译

Go 语言支持交叉编译,可以在一个平台上构建另一个平台的可执行文件。本文介绍了如何在 Mac、Linux 和 Windows 系统下进行 Go 交叉编译,并提供了相应的命令示例,涵盖了不同操作系统和架构的编译方法,例如编译 Linux、Windows 平台的 64 位可执行程序。

Mt.r
|

网上找了一下,没有找到相关文档,但是文章是有的

Building Go Applications for Different Operating Systems and Architectures

How To Build Go Executables for Multiple Platforms on Ubuntu 16.04

Go 条件编译

Go (Golang) GOOS and GOARCH

Golang 交叉编译各个平台的二进制文件

Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能。

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

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go

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

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go

Windows 下编译 Mac, Linux 平台的 64 位可执行程序,注意一下用 CMD

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go

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

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

GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows GOARCH:目标可执行程序操作系统构架,包括 386,amd64,arm

转载自:https://blog.csdn.net/panshiqu/article/details/53788067