美文网首页
go不同平台编译

go不同平台编译

作者: 终生学习wq | 来源:发表于2020-09-27 16:02 被阅读0次

    cannot execute binary file exec format error

    是因为mac和ubuntu的二进制格式不一致

    问题

    Go是一门编译型语言,所以在不同平台上,需要编译生成不同格式的二进制包。
    由于Go 1.5对跨平台编译有了一些改进,包括统一了编译器、链接器等。
    编译时候只需要指定两个参数:GOOS和GOARCH即可。

    编译到 linux 64bit

    $ GOOS=linux GOARCH=amd64 go build
    

    或者可以使用 -o 选项指定生成二进制文件名字

    $ GOOS=linux GOARCH=amd64 go build -o app.linux
    

    编译到 linux 32bit

    $ GOOS=linux GOARCH=386 go build
    

    编译到 windows 64bit

    $ GOOS=windows GOARCH=amd64 go build
    

    编译到 windows 32bit

    $ GOOS=windows GOARCH=386 go build
    

    编译到 Mac OS X 64bit

    $ GOOS=darwin GOARCH=amd64 go build
    

    在不同的平台编写快捷生成脚本的时候也是不一样的

    linux sh
    GOARCH=amd64 GOOS=linux go build -o myweb main.go

    windows bat

    set GOARCH=amd64
    set GOOS=linux
    go build -o myweb main.go
    

    相关文章

      网友评论

          本文标题:go不同平台编译

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