◆◆0go程序在当前系统编译的只能在当前系统运行,在其它系统运行报错 黛云轩 2022/01/13 云圈子 334 2 百度已收录 阿里云双十二 新老用户服务器仅需57元起 双十二低至1折 1核2G 云服务器390元/1年 学生用户专属 18-24岁用户直享¥9.5/月 云·速成美站 千套模板,自己动手建网站 企业用户优选 2核8G内存5M带宽1015元/3年 多产品一键采购 购物车采购可减5000元 云服务器全球购 海外1核2G服务器低至2折 腾讯云双十一 2核4G 3M 698元/3年 过期域名预定 过期域名快速查询和抢注服务 ECS 云服务器 SWAS 轻量应用服务器 RDS 云数据库 Redis 云数据库 CDN 内容分发 OSS 对象存储 SLB 负载均衡 NAT 网关 DNS 云解析 MAIL 企业邮箱 WAF 应用防火墙 DDoS 高防 SMS 短信包 MK 云市场 XIN 心选 IM 商标注册 JZ 自营建站当前Mac系统运行如下jiangyd:src jiangyd$ go build he.go jiangyd:src jiangyd$ ./he name is: test 18 把程序拷贝到Linux系统运行报错# ./he -bash: ./he: cannot execute binary file 上一篇: SQLPLUS 连接ORACLE数据库报错: ORA-12526下一篇: 开发者工具控制台解析json字符串报错是什么原因
您好,如果您尝试如下交叉编译方式不行的话,很有cpu的类型不同,同样是x64,但内核还是不同的,单用amd64是不能区分的。
1.Mac
Mac下编译Linux, Windows平台的64位可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go
2.Linux
Linux下编译Mac, Windows平台的64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go
3.Windows
Windows下编译Mac, Linux平台的64位可执行程序:
SET CGO_ENABLED=0
SET GOOS=darwin3
SET GOARCH=amd64
go build main.go
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go
GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows GOARCH:目标可执行程序操作系统构架,包括 386,amd64,arm
2021-10-21 09:34交叉编译的问题 详情请查看
2021-10-21 09:06