Golang 交叉编译

woodzcl · · 2404 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Go 在ver>=1.5的版本中,实现交叉编译如此简单

交叉编译依赖下面几个环境变量:

$GOARCH    目标平台(编译后的目标平台)的处理器架构(386、amd64、arm)
$GOOS          目标平台(编译后的目标平台)的操作系统(darwin、freebsd、linux、windows)


各平台的GOOSGOARCH参考 

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

 

二 go源码

//test.go

package main

 

import "fmt"

 

func main() {

   fmt.Println("Hello, World!")

}

三 编译windows平台下的exe文件

ubuntu下交叉编译

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

# ls

test.exe  test.go

四 验证

//拷贝至windows下运行(SecureCRT)

C:\WINDOWS\system32>C:\test.exe

Hello, World!

 

Finally:

Golang,我又回来了,岁月如初,你可安好?

哈哈哈

 


有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:woodzcl

查看原文:Golang 交叉编译

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2404 次点击  ∙  1 赞  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传