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

相关推荐
寺中人16 分钟前
Linux 基础命令入门实战教程:从零掌握常用操作,新手快速上手
linux·运维·服务器·shell·linux 命令·linux 基础教程·linux 入门
小张成长计划..1 小时前
【Linux】18:基础IO
linux·运维·服务器
MIXLLRED1 小时前
解决——Ubuntu远程桌面指令更换网络
linux·网络·ubuntu
啊哈一半醒2 小时前
Windows 虚拟机搭建 CentOS 全过程(2026 最新版 + 踩坑解决)
linux·windows·centos
wunaiqiezixin2 小时前
MIT 6.S081 lazy 前置篇(lab5):缺页异常、惰性分配、写时复制、页面换出
linux·unix·os·xv6·mit6.s081
Benszen2 小时前
云计算基础-13:Linux网络管理实战-1
linux·运维·云计算
_kerneler3 小时前
Linux tiny RCU
linux
wuminyu4 小时前
虚拟线程底层ForkJoinPool的工作窃取算法机制
java·linux·c语言·jvm·c++
啊哈一半醒6 小时前
Go 语言 Context 全方位详解:原理、实战与避坑
开发语言·后端·golang