美文网首页
golang交叉编译

golang交叉编译

作者: Sixah | 来源:发表于2020-04-05 11:20 被阅读0次

    Linux系统下编译Windows64位系统、Mac系统可执行程序

    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
    CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go

    Mac系统下编译Linux系统、Windows64位系统可执行程序

    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

    Windows系统下编译Linux系统、Mac系统可执行程序

    SET CGO_ENABLED=0
    SET GOOS=darwin
    SET GOARCH=amd64
    go build main.go
    
    SET CGO_ENABLED=0
    SET GOOS=linux
    SET GOARCH=amd64
    go build main.go
    
    param.png
    • 交叉编译是不支持CGO的,所以需要禁用掉,也就是说如果你的代码中存在C代码,是编译不了的。
    • 需要CGO支持的,要将CGO_ENABLED的0改为1,也就是CGO_ENABLED=1,此外还需要设置编译器。
      -github上有这个工具:https://github.com/karalabe/xgo
      它是一个docker镜像,里面集成了各种平台的编译器,按照它的教程,很轻松的可以编译出各个平台的二进制文件,
      参考链接1
      参考链接2

    相关文章

      网友评论

          本文标题:golang交叉编译

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