go的交叉编译

在操作系统上编译生成与平台无关的 Go 语言二进制文件。

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o binary-name.exe

其中:

    • CGO_ENABLED=0 禁用 CGO,使生成的二进制文件与操作系统无关。

    • GOOS=windows 指定编译生成的二进制文件将在 Windows 上运行。

    • GOARCH=amd64 指定编译生成的二进制文件将在 AMD64 架构的 CPU 上运行。

    • go build 命令用于编译 Go 语言代码。

    • -o binary-name.exe 选项用于指定生成的二进制文件的名称,并将其扩展名设置为 “.exe”,这是 Windows 可执行文件的扩展名。将 “binary-name” 替换为你自己想要的名称。

那么,我们生成Linux的二进制文件则为:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o binary-name

这里把GOOS改为linux,go build -o 则不需要扩展名。


以下编译出各平台可执行文件的命令:

#linux平台:
GOOS=linux GOARCH=amd64 go build -o binary-name
GOOS=linux GOARCH=arm64 go build -o binary-name
GOOS=linux GOARCH=386 go build -o binary-name


#windows平台
GOOS=windows GOARCH=amd64 go build -o binary-name.exe
GOOS=windows GOARCH=386 go build -o binary-name.exe


#Macos:
GOOS=darwin GOARCH=amd64 go build -o binary-name
GOOS=darwin GOARCH=arm64 go build -o binary-name

© 版权声明
THE END
喜欢就支持一下吧
点赞10赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容