golang二进制文件没有在mips上运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang二进制文件没有在mips上运行相关的知识,希望对你有一定的参考价值。

我在Windows 10上使用Go 1.11.4,我想为运行Linux的MIPS 74Kc处理器(Qualcomm Atheros QCA9558)编译代码。我编译:

GOOS=linux GOARCH=mips go build

获取可执行文件,上传并运行它并获取:

Illegal instruction

再试一次w / GOARCH=mipsle并得到:

./hello_mipsle_linux: line 1: syntax error: unexpected "("

我错过了什么?

答案

要列出当前构建工具链可用的所有可能的MIPS架构师,请使用go tool,例如:

$ go version

go version go1.12 darwin/amd64

$ go tool dist list | grep mips

linux/mips
linux/mips64
linux/mips64le
linux/mipsle

所以可能是你没有试过的其余GOARCH排列之一,例如mips64mips64le

uname -m将帮助确定您的目标系统的机器架构。

另一答案

我的主机正在进行构建有一个FPU,但董事会没有。这解决了它:

GOOS=linux GOARCH=mips GOMIPS=softfloat go build

以上是关于golang二进制文件没有在mips上运行的主要内容,如果未能解决你的问题,请参考以下文章

Golang二进制文件混淆保护

没有dpkg-architecture时如何区分linux上的mips cpu类型?

golang exec 在正在运行的二进制/进程上执行命令

Golang编译的二进制文件在alpine中无法运行

Golang编译的二进制文件在alpine中无法运行

Golang编译的二进制文件在alpine中无法运行