Fork me on GitHub

Golang 学习 ---- 编译打包

golang是编译型语言,在打包部署的时候需要编译成对应的目标

编译到服务器(比如Linux服务器,需要在机器上安装MingGW c++编译环境

安装教程 windows支持make以及gcc (安装MinGW·语雀(yuque.com)

常见的设备与架构对应表格。

GOOS GOARCH
aix ppc64
android 386
android amd64
android arm
android arm64
darwin 386
darwin amd64
darwin arm
darwin arm64
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
illumos amd64
js wasm
linux 386
linux amd64
linux arm
linux arm64
linux ppc64
linux ppc64le
linux mips
linux mipsle
linux mips64
linux mips64le
linux s390x
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
openbsd arm
openbsd arm64
plan9 386
plan9 amd64
plan9 arm
solaris amd64
windows 386
windows amd64

windows编译Linuxmac可执行文件

SET CGO_ENABLED=0
SET GOOS=windows/linux/darwin[这里填商标中对应的<GOOS>]
SET GOARCH=amd64
go build -o demo.exe main.go

Linux编译Windowsmac可执行文件

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o demo-linux main.go
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o demo-mac main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o demo-windows.exe main.go

MAC编译windowsLinux可执行文件

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o demo-linux main.go
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o demo-mac main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o demo-windows.exe main.go
posted @   Banana_Fish  阅读(398)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示