Go交叉编译

  • Mac 下编译 Linux 和 Windows 64位可执行程序

    CGO_ENABLED=0    

   GOOS=linux      

   GOARCH=amd64    

   go build main.go

 

   CGO_ENABLED=0    

   GOOS=windows    

   GOARCH=amd64    

   go build main.go

 

  • Linux 下编译 Mac 和 Windows 64位可执行程序

    CGO_ENABLED=0

   GOOS=darwin

   GOARCH=amd64

   go build main.go

 

   CGO_ENABLED=0

   GOOS=windows

   GOARCH=amd64

   go build main.go

 

  • Windows 下编译 Mac 和 Linux 64位可执行程序

    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

 

 

  • GOOS:目标平台的操作系统(darwinfreebsdlinuxwindows 
    GOARCH
    :目标平台的体系架构(386amd64arm 
    交叉编译不支持 CGO 所以要禁用它,上面的命令编译 64 位可执行程序,同理使用 386 编译 32 位可执行程序 
posted @ 2017-11-27 22:25  JohnRey  阅读(920)  评论(0编辑  收藏  举报