Golang 在 Mac、Linux、Windows 下如何交叉编译

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:目标平台的操作系统(darwin、freebsd、linux、windows)

GOARCH:目标平台的体系架构(386、amd64、arm)

交叉编译不支持 CGO 所以要禁用它

上面的命令编译 64 位可执行程序,你当然应该也会使用 386 编译 32 位可执行程序

转自:https://blog.csdn.net/panshiqu/article/details/53788067

相关推荐
心灵宝贝20 分钟前
Fedora 38 安装 perl-JSON RPM 包步骤(含依赖问题解决及附安装包)
linux
lilili也22 分钟前
Linux——0:安装与配置、命令、gcc
linux
is08151 小时前
全志 H3 armbian 备份
linux·服务器·网络
空安小菜鸟1 小时前
Mac 重启电脑导致代理失效
macos
自学AI的鲨鱼儿2 小时前
ubuntu22.04安装gvm管理go
开发语言·后端·golang
iconball2 小时前
个人用云计算学习笔记 --18(NFS 服务器、iSCSI 服务器)
linux·运维·笔记·学习·云计算
广药门徒2 小时前
Linux驱动开发与BuildRoot是什么关系与其的应用场景
linux·运维·驱动开发
czhc11400756632 小时前
Linux108 shell:.bashrc 正则表达式:. * .* ^ $ ^$ [ ] [^] ^[] ^[^ ] \< \>
linux·正则表达式
野猪疯驴3 小时前
Linux shell学习(更新中....)
linux·shell
努力学习的小廉3 小时前
深入了解linux网络—— TCP网络通信(下)
linux·网络·tcp/ip