美文网首页
go交叉编译基础(转载)

go交叉编译基础(转载)

作者: embedsky | 来源:发表于2019-04-15 13:32 被阅读0次

    原文:https://www.jianshu.com/p/4b345a9e768e

    前言

    golang如何在一个平台编译另外一个平台可以执行的文件。比如在mac上编译Windows和linux可以执行的文件。那么我们的问题就设定成:如何在mac上编译64位linux的可执行文件。本文示例,在Ubuntu环境下编译aarch64开发板应用。

    环境

    编译环境:Ubuntu18.04
    go版本:go version go1.12.1 linux/amd64

    测试文件helloworld.go

    package main
    import "fmt"
    func main() {
        fmt.Printf("hello, world\n")
    }
    

    编译命令

    GOOS=linux GOARCH=arm go build helloworld.go
    

    参数说明

    这里用到了两个变量:

    • GOOS:目标操作系统
    • GOARCH:目标操作系统的架构
    OS ARCH OS version
    linux 386 / amd64 / arm >= Linux 2.6
    darwin 386 / amd64 OS X (Snow Leopard + Lion)
    freebsd 386 / amd64 >= FreeBSD 7
    windows 386 / amd64 >= Windows 2000

    编译其他平台的时候根据上面表格参数执行编译就可以了。

    相关文章

      网友评论

          本文标题:go交叉编译基础(转载)

          本文链接:https://www.haomeiwen.com/subject/ctruwqtx.html