美文网首页
go 交叉编译

go 交叉编译

作者: Dr點燃 | 来源:发表于2017-08-12 13:29 被阅读375次
Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。

Mac 下编译 Linux 和 Windows 64位可执行程序

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

linux 下编译 Mac 和 Windows 64位可执行程序

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

Windows 下编译 Mac 和 Linux 64位可执行程序

SET CGO_ENABLED=0SET GOOS=darwinSET GOARCH=amd64 go build main.go
SET CGO_ENABLED=0SET GOOS=linuxSET GOARCH=amd64 go build main.go

GOOS:目标平台的操作系统(darwin、freebsd、linux、windows) GOARCH:目标平台的体系架构(386、amd64、arm) 交叉编译不支持 CGO 所以要禁用它
上面的命令编译 64 位可执行程序,你当然应该也会使用 386 编译 32 位可执行程序 很多博客都提到要先增加对其它平台的支持,但是我跳过那一步,上面所列的命令也都能成功,且得到我想要的结果,可见那一步应该是非必须的,或是我所使用的 Go 版本已默认支持所有平台。

相关文章

  • 交叉编译

    使用go的交叉编译 最后使用go build windows_fping.go 编译出.exe可执行文件 如果编译...

  • Linux环境Golang配置

    Linux配置方式1 Linux配置方式2 设置 goproxy 使用 go module 交叉编译 交叉编译依赖...

  • go交叉编译

  • go 交叉编译

    Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。 Ma...

  • go 交叉编译

    widnow 交叉编译linux可运行二进制 扔到服务器 --PS 这时ssh关了就gg了。我们把它写到服务器进程...

  • Go交叉编译

    mac上编译了一个go二进制文件,放到linux上没法执行,需要交叉编译,受高人指点 vim build.sh #...

  • go交叉编译

    1. Windows下 编译为Linux可运行文件 编译为MAC可运行文件 编译为Window可运行文件 2. M...

  • Go 交叉编译

    转44.Go 交叉编译 - 简书 (jianshu.com)[https://www.jianshu.com/p/...

  • golang编译与go程序部署

    Go程序编译 1. 交叉编译(Cross compiler) “ 交叉编译是在一个平台上生成另一个平台上的可执行代...

  • go arm 交叉编译

    一、纯GO语言代码 1. 设置 GOARCH export GOARCH=arm 2. 编译go 代码 go bu...

网友评论

      本文标题:go 交叉编译

      本文链接:https://www.haomeiwen.com/subject/wlxjrxtx.html