猿问

golang 无法执行二进制文件:Exec 格式错误

我的环境


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


蛊毒传说
浏览 1862回答 2
2回答

梵蒂冈之花

从 go 1.5 开始,交叉编译器变得非常容易。就像是env GOOS=linux GOARCH=amd64 go build -v github.com/constabulary/gb/cmd/gb请参阅http://dave.cheney.net/2015/08/22/cross-compilation-with-go-1-5。

UYOU

我有同样的问题。我安装了 64 位版本的 go 而不是 32 位版本。安装 32 位版本后,它工作正常。
随时随地看视频慕课网APP

相关分类

Go
我要回答