为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 Go 程序从 Mac OS X 交叉编译到 Ubuntu 64 位

如何将 Go 程序从 Mac OS X 交叉编译到 Ubuntu 64 位

Go
PIPIONE 2021-11-08 15:37:01
正如标题所说,我想知道如何交叉编译我的程序,以便我可以在 64 位 Ubuntu 上运行它我已经进入/usr/local/go/src文件夹并运行GOOS=linux GOARCH=amd64 ./make.bash --no-clean一切都编译得很好然后进入我的项目目录并运行go build -v -a,然后将编译后的二进制文件移动到我的 linux 服务器,但是在运行它时出现此错误:root@PanicCSGO40:~/test# ./test-bash: ./test: cannot execute binary file: Exec format errorroot@PanicCSGO40:~/test# sudo ./test./test: 1: ./test: Syntax error: "(" unexpectedroot@PanicCSGO40:~/test#不知道我做错了什么,任何信息都会非常感谢。我也试过这样做,GOARCH=386但仍然得到同样的错误。谢谢!此链接不能解决我的问题,因为所选答案是指向博客文章的链接,该文章严重依赖于使用博客作者bash脚本进行所有交叉编译,我只是想知道正确的方法是什么是,现在我做。
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

build 命令需要识别目标环境:

$ GOOS=linux GOARCH=amd64 go build -v /path/to/target/package


查看完整回答
反对 回复 2021-11-08
  • 1 回答
  • 0 关注
  • 280 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信