我去环境
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
我在我的mac上编译并成功执行了二进制文件,然后将其复制到上面显示go env的ubuntu机器上。当我调用 myprog 二进制文件时,我得到
bash: /usr/local/go/bin/myprog: cannot execute binary file: Exec format error
原文由 mg03 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 go 1.5 开始,交叉编译变得非常容易。就像是
参考 http://dave.cheney.net/2015/08/22/cross-compilation-with-go-1-5 。