各平台的GOOS和GOARCH参考

OS ARCH OS version

linux 386 / amd64 / arm >= Linux 2.6

darwin 386 / amd64 OS X (Snow Leopard + Lion)

freebsd 386 / amd64 >= FreeBSD 7

windows 386 / amd64 >= Windows 2000

$ cd /usr/local/go/src
$ sudo CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash

这里并不是重新编译Go,因为安装Go的时候,只是编译了本地系统需要的东西;而需要跨平台交叉编译,需要在Go中增加对其他平台的支持。所以,有 ./make.bash 这么一个过程。

执行结果类似如下:

sudo CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash
Password:

Building C bootstrap tool.

cmd/dist

Building compilers and Go bootstrap tool for host, darwin/amd64.

lib9
libbio
libmach
misc/pprof
cmd/addr2line
cmd/cov
cmd/nm
cmd/objdump
cmd/pack
cmd/prof
cmd/cc
……
pkg/text/template/parse
pkg/text/template
pkg/go/doc
pkg/go/build
cmd/go
pkg/runtime (linux/amd64)

Building packages and commands for host, darwin/amd64.

runtime
errors
sync/atomic
unicode
unicode/utf8
math
sync
unicode/utf16
crypto/subtle
io
syscall
……….
net/rpc/jsonrpc
testing/iotest
testing/quick

Building packages and commands for linux/amd64.

runtime
errors
sync/atomic
unicode
unicode/utf8
math
sync
unicode/utf16
……..
testing
net/rpc/jsonrpc
testing/iotest
testing/quick


Installed Go for linux/amd64 in /usr/local/go
Installed commands in /usr/local/go/bin

三、编译对应平台下的执行文件
到源代码目录下执行:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build sina.go

不带前面参数的 go build 只是编译出开发环境适用的执行文件。

原文来自:http://m.oschina.net/blog/131480

转载于:https://www.cnblogs.com/Jim-william/p/5038965.html

Golang 交叉编译相关推荐

  1. cgo linux arm,Golang交叉编译各个平台的二进制文件

    熟悉golang的人都知道,golang交叉编译很简单的,只要设置几个环境变量就可以了 # mac上编译linux和windows二进制 CGO_ENABLED=0 GOOS=linux GOARCH ...

  2. Gin实践 番外 Golang交叉编译

    Golang交叉编译 项目地址:https://github.com/EDDYCJY/go... (快上车,支持一波) 原文地址:https://segmentfault.com/a/11... 前言 ...

  3. golang 交叉编译总结

    golang 交叉编译golang 交叉编译牵涉到三个变量CGO_ENABLED = 0 表示设置CGO工具不可用,使用go自己的编译器 GOOS:目标操作系统 GOARCH 表示程序构建环境的目标计 ...

  4. Golang交叉编译Sqlite3踩坑记录

    Golang交叉编译Sqlite3踩坑记录 ,windows下编译golang go-sqlite3解决方案 众所周知Golang能够在一个平台编译不同平台可执行程序进行发布 然而在遇到需要内置处理程 ...

  5. 四,Golang 交叉编译

    一.golang支持在一个平台下生成另一个平台可执行程序的交叉编译功能, 1.Mac下编译Linux,windows平台的64位可执行程序: CGO_ENABLE=0 GOOS=linux GOARC ...

  6. golang交叉编译工具,gox使用入门

    gox入门教程 先说下交叉编译是什么?  交叉编译也就是你可以在linux上编译出可以在windows上运行的程序,在32位系统编译出64位系统运行的程序. gox就是方便你使用golang的交叉编译 ...

  7. go 编译 android arm,golang交叉编译

    go env检查各项环境变量无误 进入shell环境(Windows为cmd环境),切换到项目工程的源码目录(包含main包的那个目录) 设置好环境变量,关闭CGO(交叉编译不支持所以要关闭),将编译 ...

  8. golang交叉编译

    Windows 下编译 Mac 和 Linux 64位可执行程序 SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build main.go ...

  9. Golang的交叉编译问题

    参考:Golang交叉编译各个平台的二进制文件 - Go语言中文网 - Golang中文社区 (studygolang.com).也谈Go的可移植性 | Tony Bai 今天准备将一个在Mac上开发 ...

最新文章

  1. 再谈 Promise
  2. kafka 分区和副本以及kafaka 执行流程,以及消息的高可用
  3. AWS EC2 Root密码重置
  4. 在consumer中调用provider服务
  5. windows同时安装python2和3编码_Windows同时安装多个版本,python2和python3,window
  6. 7-6 区间覆盖 (10 分)(思路+详解)Come 宝!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  7. hide show vue 动画_jQuery动画效果
  8. 信息学奥赛一本通(2038:【例5.5】最大数位置)
  9. gulp安装流程、使用方法及cmd常用命令导览
  10. 搭建nginx服务器
  11. 关于jesd204B调试总结
  12. PackageManager获取应用列表
  13. Iptable与firewalld防火墙
  14. 华硕ac66php服务器,华硕ASUS RT-AC66U无线路由器部署NTP Server最佳实践
  15. 酷睿i7 12700k核显相当于什么显卡 i712700k参数 i7 12700k什么水平
  16. 不同进制之间相互转换
  17. 快速提取Word文档中的所有图片
  18. 云服务器liunx系统怎么安装,云服务器怎么安装linux系统
  19. 悼念512汶川大地震遇难同胞——来生一起走(dfs+打表)
  20. 读《程序员修炼之道-从小工到专家》有感

热门文章

  1. 按钮旁边加一个提示_地铁站的那些“红色按钮”,你知道是干啥用的吗?乱按可能被拘留...
  2. 540. 有序数组中的单一元素 golang
  3. Linux操作系统之简易实现server/client
  4. C语言解析http请求表单内容
  5. C语言中的深拷贝和浅拷贝
  6. 剑指Offer09. 用两个栈实现队列
  7. 从0到1写RT-Thread内核——临界段的保护
  8. Java集合类中绝对占有一席之地的List,涨薪7K!
  9. Java未来路在何方?挑战大厂重燃激情!
  10. Jquery常用正则验证