美文网首页
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