交叉编译
前言
交叉编译意为:在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行.
如:在Amd64指令集的机器上编译arm等嵌入式系统可执行文件.
Go语言的交叉编译
以MT7620 CPU为例子(mips32le架构),在Centos6.8 64Bit机器上编译.
需要用到编译工具Golang.这里介绍1.8以前的版本编译.1.8以前官方不支持mips32le架构,这里用Github上gomini以Golang1.4为基础改编的go-mips32.
1. 下载go-mips32源(这里用root用户做演示)
cd ~
git clone https://github.com/gomini/go-mips32.git
cd go-mips32/src
2. 配置GO编译参数
export GOOS=linux
export GOARCH=mips32le
3. 执行编译
CGO_ENABLED=0
./make.bash
4. 配置环境变量
export GOROOT=/root/go-mips32
export GOPATH=$GOROOT/src/gocode
export GOOS=linux
export GOARCH=mips32le
export PATH=$GOROOT/bin:$PATH
配置完毕测试一下~
go version