美文网首页
GO跨平台编译

GO跨平台编译

作者: 腿长袖子短 | 来源:发表于2023-11-07 16:24 被阅读0次

    1. 跨平台编译

    默认go build的可执行文件都是在当前操作系统的可执行文件

    如果需求变更为 windows下编译一个linux系统的可执行文件

    2. 指定目标操作系统平台

    • 禁用CGO

      SET CGO_ENABLED=0(需要恢复时,值为1)

    • 目标平台为linux

      SET GOOS=linux(需要恢复时,值为windows)

    • 目标处理器架构是amd64

      SET GOARCH=amd64(如果没变,就不用)

    使用了CGO的代码是不支持跨平台编译的

    3. MAC下编译LinuxWindows平台64位可执行程序

    • Linux平台

      CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

    • windows平台

      CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

    4. Linux下编译Macwindows平台64位可执行程序

    • mac平台

      CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build

    • windows平台

      CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

    5. Windows下编译Mac平台64位可执行程序

    SET CGO_ENABLED=0
    SET GOOS=darwin
    SET GOARCH=amd64
    go build
    

    6. Windows下编译Linux平台64位可执行程序

    如果你的Windows使用的是cmd,那么按如下方式指定环境变量。

    SET CGO_ENABLED=0
    SET GOOS=linux
    SET GOARCH=amd64
    go build
    

    如果你的Windows使用的是PowerShell终端,那么设置环境变量的语法为

    $ENV:CGO_ENABLED=0
    $ENV:GOOS="linux"
    $ENV:GOARCH="amd64"
    

    恢复

    $ENV:CGO_ENABLED=1
    $ENV:GOOS="windows"
    $ENV:GOARCH="amd64"
    

    相关文章

      网友评论

          本文标题:GO跨平台编译

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