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

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序。

GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)

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

具体组合,详见

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

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

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
相关推荐
阿巴~阿巴~1 分钟前
Ubuntu 20.04 安装 Redis
linux·服务器·数据库·redis·ubuntu
aitav016 分钟前
⚡ arm 32位嵌入式 Linux 系统移植 NTP 服务
linux·arm开发·ntp
爱奥尼欧35 分钟前
【Linux笔记】网络部分——socket 编程 TCP实现多台虚拟机使用指令访问云服务器
linux·服务器·网络
yolo_guo41 分钟前
sqlite 使用: 03-问题记录:在使用 sqlite3_bind_text 中设置 SQLITE_STATIC 参数时,处理不当造成的字符乱码
linux·c++·sqlite
m0”-“0m1 小时前
MySQL、Nignx和Docker在Linux上的安装详解
linux·数据库·mysql
luopandeng1 小时前
amd npt技术 对比 intel ept 技术
java·linux·网络
---学无止境---2 小时前
Linux中kmalloc内存分配函数的实现
linux
海底列车2 小时前
ubuntu-20.04.6升级OpenSSH_10.2p1
linux·服务器·ubuntu
陳錄生3 小时前
ubuntu 24.10安装MongoDB
linux·mongodb·ubuntu
做运维的阿瑞3 小时前
从传统Linux部署到容器化:实践对比与工程化指南
linux·运维·服务器