1. Golang

Go交叉编译-mips路由器

之前写过关于go交叉编译的博客见 Golang交叉编译,go的交叉编译实在是太棒了!对小白非常友好,几行命令就能编译出对应架构的二进制可执行程序!

0、编写go程序

wol.go

package main

import "fmt"

func main() {
	fmt.Println("HELLO FROM GO!")
}

1、交叉编译

在我的windows系统上wol.go同级目录下执行下列命令:

SET GOOS=linux

SET GOARCH=mipsle

go build wol.go

完成后会得到wol文件,将其复制到目标mips机器上。这里多说一句,就是第二个命令,为什么是mipsle而不是mips?mips存在两种架构,分别为大端和小端,其中mips代表大端方式;而mipsle代表小端方式,我的小米路由器使用的mips处理器是小端方式,如果我们使用mips则运行会出现如下错误:

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

所以,这里我使用mipsle。

2、运行程序

root@XiaoQiang:/userdisk# chmod +x wol
root@XiaoQiang:/userdisk# ./wol 
HELLO FROM GO!
root@XiaoQiang:/userdisk#