Golang跨平台编译

摘要:本文介绍了Golang跨平台编译的一些常用选项参数,并给除了几个常用的跨平台编译的例子。

常用的跨平台编译指令

  • 在Linux平台上编译:
    – Windows平台上可运行:CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build *
    – MACOS 可运行 :CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build *
  • 在Windows平台上编译:
    – MacOS 上可运行: SET CGO_ENABLED=0SET GOOS=darwin3 SET GOARCH=amd64 go build *
    – Linux 上可运行 : SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build *
  • 在MacOS上编译:
    – Linux 上可运行: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build *
    – Windows 上可运行: CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build *

涉及参数解释

  • CGO_ENABLE:是否启动CGO编译器进行编译。因为我们不确定指定平台是否存在C的动态连接库(libc),建议不启动CGO编译器(CGO_ENABLE=0)。
  • GOOS:表示指定需要执行该指令的操作系统类型。具体选项有: android, darwin, dragonfly, freebsd, illumos, ios, js, linux, netbsd, openbsd, plan9, solaris, wasip1, and windows。
  • GOARCH:表示芯片架构类型。具体选项有:amd64 (64-bit x86, the most mature port), 386 (32-bit x86), arm (32-bit ARM), arm64 (64-bit ARM), ppc64le (PowerPC 64-bit, little-endian), ppc64 (PowerPC 64-bit, big-endian), mips64le (MIPS 64-bit, little-endian), mips64 (MIPS 64-bit, big-endian), mipsle (MIPS 32-bit, little-endian), mips (MIPS 32-bit, big-endian), s390x (IBM System z 64-bit, big-endian), and wasm (WebAssembly 32-bit)。

有效的GOOS和GOARCH组合有:

GOOSGOOS
aixppc64
android386
androidamd64
androidarm
androidarm64
darwinamd64
darwinarm64
dragonflyamd64
freebsd386
freebsdamd64
freebsdarm
illumosamd64
iosarm64
jswasm
linux386
linuxamd64
linuxarm
linuxarm64
linuxloong64
linuxmips
linuxmipsle
linuxmips64
linuxmips64le
linuxppc64
linuxppc64le
linuxriscv64
linuxs390x
netbsd386
netbsdamd64
netbsdarm
openbsd386
openbsdamd64
openbsdarm
openbsdarm64
plan9386
plan9amd64
plan9arm
solarisamd64
wasip1wasm
windows386
windowsamd64
windowsarm
windowsarm64
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值