Golang。交叉编译MIPS

时间:2017-04-04 13:16:03

标签: go compilation mips

我尝试编译我的简单程序:

func main(){fmt.Printf("Hello")}
根据文档,在我的PC上使用64位Debian Linux

MIPS架构

https://golang.org/doc/install/source#environment

通过使用命令

GOOS=linux GOARCH=mipsle go build 
GOOS=linux GOARCH=mips go build

每次我收到错误:

  

runtime / internal / sys compile

     

未知架构" mipsle(mips)"

有趣的是,如果尝试使用命令:

GOOS=linux GOARCH=mipsle64 go build

该计划正在建设中。

它是否依赖于我的PC上的系统操作系统?如何为MIPS或MIPSLE构建二进制文件?

1 个答案:

答案 0 :(得分:1)

Go 1.6不支持MIPS或MIPSLE。 1.6支持MIPS64(LE)。 1.8支持MIPS(LE)。

来自https://golang.org/doc/install/source

  
      
  • amd64(也称为x86-64)      
        
    • 成熟的实施。
    •   
  •   
  • 386(x86或x86-32)      
        
    • 可与amd64端口相媲美。
    •   
  •   
  • arm(ARM)      
        
    • 支持Linux,FreeBSD,NetBSD,OpenBSD和Darwin二进制文件。使用不如其他端口广泛。
    •   
  •   
  • arm64(AArch64)      
        
    • 支持Linux和Darwin二进制文件。 1.5中的新功能,而不像其他端口那样运用。
    •   
  •   
  • ppc64,ppc64le(64位PowerPC大端和小端)      
        
    • 支持Linux二进制文件。 1.5中的新功能,而不像其他端口那样运用。
    •   
  •   
  • mips,mipsle(32位MIPS大端和小端)      
        
    • 支持Linux二进制文件。 1.8中的新功能,而不是其他端口。
    •   
  •   
  • mips64,mips64le(64位MIPS大端和小端)      
        
    • 支持Linux二进制文件。 1.6中的新功能,而不是像其他端口那样运用。
    •   
  •   
  • s390x(IBM System z)      
        
    • 支持Linux二进制文件。 1.7中的新功能,而不是其他端口。
    •   
  •