golang交叉编译

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

  1. go env检查各项环境变量无误
  2. 进入shell环境(Windows为cmd环境),切换到项目工程的源码目录(包含main包的那个目录)
  3. 设置好环境变量,关闭CGO(交叉编译不支持所以要关闭),将编译目标平台的环境变量设置好,然后执行go build命令即可,具体方法如下
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

bash shell环境可以使用如上方式,如果是Windows的cmd环境请使用set命令进行设置

CGO_ENABLED关闭CGO,GOOS设置目标操作系统,GOARCH设置目标架构

可组合有如下

$GOOS        $GOARCH
android     arm
darwin      386
darwin      amd64
darwin      arm
darwin      arm64
dragonfly   amd64
freebsd     386
freebsd     amd64
freebsd     arm
linux       386
linux       amd64
linux       arm
linux       arm64
linux       ppc64
linux       ppc64le
linux       mips
linux       mipsle
linux       mips64
linux       mips64le
netbsd      386
netbsd      amd64
netbsd      arm
openbsd     386
openbsd     amd64
openbsd     arm
plan9       386
plan9       amd64
solaris     amd64
windows     386
windows     amd64

设置好环境变量再执行go build等命令即可编译好该目标平台上的可执行文件


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

本文来自:Segmentfault

感谢作者:昌维

查看原文:golang交叉编译

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

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