闲来无事,申请了台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 终于发现这篇文章非常不错,在这里和大家分享下,按照文章的 *** 作就可以解决问题了,而且里面有非常详细的讲解。
Linux系统攻克Mac电脑,Asahi Linux Alpha版编译比macOS快40%原创2022年5月27日Asahi Linux 的编译速度比 macOS 足足快了 40%。
CSDN
mac对比linux编译速度,Mac OS X 10.5和Linux Ubuntu 8.10性能对比测试...
2021年5月1日Bonnie++磁盘性能测试:不管持续写入还是随机读取,Mac都明显好得多,而且读写性能基本一致Ubuntu还是64位版稍好一些。大概和双方使 用的文件系统...
CSDN编程社区
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)