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 位可执行程序 
原文地址:https://www.cnblogs.com/Yellow0-0River/p/7906491.html