Mac下交叉编译linux golang程序

Mac下交叉编译linux golang程序,第1张

一、背景介绍

    闲来无事,申请了台aws服务器在家搞点小东东,用golang做了个小东东,想放上去绝圆。自己的电脑是mac电脑,起初忘记了交叉编译的事,直接编译了下直接扔到aws,运行的时候出现了不可以运行的二进制格式提示

二、交叉编译的过程

     敏宏肆1、随手百度了下,很多文章都写的“CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build”(不知你搜索到的是不是这个结果),看到这也挺简单,分别是禁用cgo,指定目标系统,指定目标CPU体系架构,然后编译。

  按照百度出来的建议,尝试在电脑上编译了下,提示如下错误,如果没有出现错误的可以不用往下看了哈。

2、如第一步所述,是将CGO关闭的状态,如果程序用到了CGO,是不是就需要将CGO放开?将CGO放开又会是什么现象?具体如下:

从上述的错误信息可以看出来,环境变量是生效的,确实是linux体系架构了。

3、继续百度桥轿,https://blog.csdn.net/zhaoli081223/article/details/121255583 终于发现这篇文章非常不错,在这里和大家分享下,按照文章的 *** 作就可以解决问题了,而且里面有非常详细的讲解。

不知楼主困腊消是要问啥,是指怎么配环境还是怎样入门学知识。\x0d\x0a想配环境的话,我大概说个思路,具体细节请自行百度之:\x0d\x0a\x0d\x0a方案一:装虚拟机软件(vmware fusion或parallels desktop),虚拟机里guest os装linux(建议ubuntu),然后在linux下装gcc、java等等编程工具,装个eclipse(有人说玩linux编程就得vim或emacs,我个人觉得vim、emacs这种软件,适合geek装13用,《Clean Code》的作者在书中也是推荐eclipse这种高级的IDE,有代码补全,api提示,局宴可以大大提高开发效率。)\x0d\x0a方案二:mac os下装xcode,然后设置xcode装汪知命令行开发工具,就有了gcc等命令,然后就跟linux差不多了,可以装eclise,也可以用xcode做IDE。\x0d\x0a学知识的话建议楼主逛论坛或者买书。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12401734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存