亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

golang 二進制文件不在 mips 上運行

golang 二進制文件不在 mips 上運行

Go
胡子哥哥 2023-06-12 19:09:41
我在 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條經驗 獲得超13個贊

我做構建的主機有一個 FPU,但板子沒有。添加GOMIPS=softfloat固定它:

GOOS=linux GOARCH=mips GOMIPS=softfloat go build


查看完整回答
反對 回復 2023-06-12
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

我有一個類似的問題,它通過設置解決了GOARCH=mipsle。這應該工作

GOOS=linux?GOARCH=mipsle?GOMIPS=softfloat?go?build

我的核心是MIPS 24KEc V5.0,

如果不行,請嘗試以下步驟

  1. 檢查 CPU 架構,Big-Endian 或 Little-Endian,通過

$?lscpu?|?grep?"Byte?Order"

cat/proc/cpuinfo也會有幫助。

  1. 檢查內核信息,mips 或 mips64,對我來說是 mips (32)

$?uname?-a
Linux?OpenWrt?4.14.151?#0?Tue?Nov?5?14:12:18?2019?mips?GNU/Linux
  1. 如果是 Little-Endian,設置GOARCH=mipsle,如果是 64bit Little-Endian,設置 setGOARCH=mips64le

查看完整回答
反對 回復 2023-06-12
?
侃侃無極

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將有助于確定目標系統的機器架構。


查看完整回答
反對 回復 2023-06-12
  • 3 回答
  • 0 關注
  • 354 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號