站内公告:

我们的虚拟社区正式开通了

Main Menu

Go Pkg不同系统交叉编译

作者 jvip_chen, 2022-8月-23 02:06 下午

« 上一篇主题 - 下一篇主题 »

jvip_chen

Golang 支持交叉编译,即在一个平台编译,在另一个平台运行,本文介绍Golang Pkg不同系统交叉编译。

参数说明
GOOS: 目标平台
  • mac : darwin
  • linux : linux
  • windows : windows
GOARCH :目标平台的体系架构
  • 386 也称 x86 : 32位操作系统
  • amd64 也称 x64 : 64位操作系统,比如电脑一般都是amd64架构的
  • arm 一般用于嵌入式开发,比如Android,IOS,Win mobile等
交叉编译不支持CGO_ENABLED,使用CGO_ENABLED=0设置。
编译命令
编译在Linux运行的包
CGO_ENABLED=0  GOOS=linux  GOARCH=amd64  go  build
编译在Windows运行的包
CGO_ENABLED=0  GOOS=windows  GOARCH=amd64  go  build
编译在Mac运行的包
CGO_ENABLED=0  GOOS=darwin  GOARCH=amd64  go  build
其他说明
若是在windows编译,需要采用如下命令设置变量:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build