我在 Windows 10 上使用 Go 1.11.4,我想为运行 Linux 的 MIPS 74Kc 处理器 (Qualcomm Atheros QCA9558) 编译代码。我编译:GOOS=linux GOARCH=mips go build获取可执行文件,上传并运行它并获得:Illegal instruction再试一次,GOARCH=mipsle得到:./hello_mipsle_linux: line 1: syntax error: unexpected "("我错过了什么?
3 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
我做构建的主机有一个 FPU,但板子没有。添加GOMIPS=softfloat
固定它:
GOOS=linux GOARCH=mips GOMIPS=softfloat go build
芜湖不芜
TA贡献1796条经验 获得超7个赞
我有一个类似的问题,它通过设置解决了GOARCH=mipsle
。这应该工作
GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build
我的核心是MIPS 24KEc V5.0
,
如果不行,请尝试以下步骤
检查 CPU 架构,Big-Endian 或 Little-Endian,通过
$ lscpu | grep "Byte Order"
cat/proc/cpuinfo
也会有帮助。
检查内核信息,mips 或 mips64,对我来说是 mips (32)
$ uname -a Linux OpenWrt 4.14.151 #0 Tue Nov 5 14:12:18 2019 mips GNU/Linux
如果是 Little-Endian,设置
GOARCH=mipsle
,如果是 64bit Little-Endian,设置 setGOARCH=mips64le
侃侃无极
TA贡献2051条经验 获得超10个赞
要列出当前构建工具链可用的所有可能的 MIPS 架构师,请使用go tooleg
$ go version
go version go1.12 darwin/amd64
$ go tool dist list | grep mips
linux/mips
linux/mips64
linux/mips64le
linux/mipsle
GOARCH所以可能是您还没有尝试过的剩余排列之一,例如mips64or mips64le。
uname -m将有助于确定目标系统的机器架构。
- 3 回答
- 0 关注
- 241 浏览
添加回答
举报
0/150
提交
取消