本猿互联网后端仔一只,想写点程序放路由器上面运行。经过查询,golang 支持 mipsle,我手持 newifi3 一台,但是我用 win10 go1.14 无论怎么编译,放到路由器上面运行,始终输出 bus error 。 这玩意究竟啥意思,好像根本搜不到这方面的资料,各位老哥谁懂行的?给指点一下?
golang 代码只有一行,如下
package main
import (
"fmt"
)
func main() {
fmt.Println("hello world!")
}
编译命令:
set GOOS=linux
set GOARCH=mipsle
go build main.go
路由器 uname
Linux OpenWrt 4.14.172 #0 SMP Mon Apr 6 15:29:11 2020 mips GNU/Linux
1
polaa 2020-06-23 23:44:59 +08:00
因为路由器上的系统是阉割版 linux 大概的可能的不满足依赖? 不是很确定
一般编译嵌入式设备是是使用 buildroot 或者 crosstool-ng 等嵌入式平台的交叉编译工具链 |
2
ysc3839 2020-06-24 00:07:33 +08:00 via Android
尝试用 OpenWrt 的 SDK 编译?
|
3
Reficul 2020-06-24 00:15:15 +08:00
mipsle 有好几个细分的 Target , 比如 mips mips64 mips64le mipsle
|
7
goofool 2020-06-24 09:49:32 +08:00
1 、路由器空间够么
2 、ldd main 看看 |
9
sadfQED2 OP @polaa
@ysc3839 https://github.com/kuoruan/openwrt-frp/blob/master/Makefile https://github.com/kuoruan/openwrt-v2ray/blob/master/Makefile 请问老哥说的是这种吗,我看了别人项目的编译,为啥是一个 Makefile 呀,我理解的 go 语言编译不应该是 go build 一下就行了么,Makefile 不应该是 c 语言里面的么,这样的话我那个 hello word 要咋写 Makefile 呢,能给个关键词么,搜了半天都没搜到相关资料 |
10
ysc3839 2020-06-24 16:20:42 +08:00
@sadfQED2 因为这是配合 OpenWrt 的 build system 用的,而这套 build system 是基于 make 的,所以要求写 Makefile 。
|
11
cosmain 2023-06-13 16:26:58 +08:00
这个 CPU 没有 FPU ,要软浮点。
GOMIPS=softfloat |