golang二进制文件未在mips上运行

我正在Windows 10上使用Go 1.11.4,并且我想为MIPS 74Kc处理器(高通 Atheros QCA9558)运行Linux。 我使用以下命令进行编译:</ p>

GOOS = linux GOARCH = mips go build </ code> </ p>

获取可执行文件,上传并运行它,然后 得到:</ p>

非法指令</ code> </ p>

再次尝试w / GOARCH = mipsle </ code>并得到: </ p>

。/hello_mipsle_linux:第1行:语法错误:意外的“(” </ code> </ p>

我缺少什么?</ </ p>
</ div>

展开原文

原文

I'm using Go 1.11.4 on Windows 10 and I want to compile code for a MIPS 74Kc processor (Qualcomm Atheros QCA9558) running Linux. I compile with:

GOOS=linux GOARCH=mips go build

Get an executable, upload and run it and get:

Illegal instruction

Try again w/ GOARCH=mipsle and get:

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

What am I missing?

2个回答



要列出当前构建工具链可用的所有可能的MIPS建筑师,请使用 go工具</ code>例如</ p >

  $ go版本

go版本go1.12 darwin / amd64

$ go工具dist列表| grep mips

linux / mips
linux / mips64
linux / mips64le
linux / mipsle
</ code> </ pre>

所以大概是剩下的 GOARCH </ code>之一 >您没有尝试过的排列,例如 mips64 </ code>或 mips64le </ code>。</ p>

uname -m </ code>将有助于确定目标系统的计算机体系结构。 / p>
</ div>

展开原文

原文

To list all possible MIPS architects available to your current build toolchain, use the go tool e.g.

$ go version

go version go1.12 darwin/amd64

$ go tool dist list | grep mips

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

so probably one of the remaining GOARCH permutations you have not tried e.g. mips64 or mips64le.

uname -m would help to determine your target system's machine architecture.



我进行构建的主机有FPU,但主板没有。 这样可以解决此问题:</ p>

GOOS = linux GOARCH = mips GOMIPS = softfloat go build </ code> </ p>
</ div>

展开原文

原文

My host doing the build had an FPU but the board does not. This fixed it:

GOOS=linux GOARCH=mips GOMIPS=softfloat go build

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐