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

相关推荐
跃渊Yuey7 小时前
【Linux】线程同步与互斥
linux·笔记
舰长1157 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
zmjjdank1ng7 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.7 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
川川菜鸟7 小时前
Claude Code 安装与配置完整指南(Mac)
macos
VekiSon7 小时前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发
zl_dfq8 小时前
Linux 之 【进程信号】(signal、kill、raise、abort、alarm、Core Dump核心转储机制)
linux
WarmSword8 小时前
mac上用cursor/vscode调试root权限进程
c++·ide·vscode·macos·mac
Ankie Wan8 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc
skywalk81638 小时前
尝试在openi启智社区的dcu环境安装ollama最新版0.15.2(失败)
linux·运维·服务器·ollama