为了账号安全,请及时绑定邮箱和手机立即绑定

从 Windows 交叉编译到其他操作系统

从 Windows 交叉编译到其他操作系统

Go
互换的青春 2022-06-06 18:00:24
我阅读了这个和这个关于这个活动的内容,并且提到的动作是:% env GOOS=darwin GOARCH=386 go build hello.go// or% env GOOS=linux GOARCH=arm GOARM=7 go build hello.go// and so on但是在 Windows 中没有名为 的命令env,我得到了以下内容:'env' is not recognized as an internal or external command,operable program or batch file.
查看完整描述

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

在 windows powershell 上,您应该能够执行以下操作:


$env:GOOS = "linux"

$env:GOARCH = "arm"

$env:GOARM = "7"

go build hello.go


查看完整回答
反对 回复 2022-06-06
?
白衣非少年

TA贡献1155条经验 获得超0个赞

检查支持的编译工具:go tool dist list Cross compile not working with cgo, ie not working with any file hasimport "C"


在 Powershell


# For ARM

$env:GOOS = "linux" 

$env:GOARCH = "arm" 

$env:GOARM = "7" 

go build -o main main.go

# For darwin

$env:GOOS = "darwin" 

$env:GOARCH = "amd64" 

go build -o main.dmg main.go

# same for others

$env:GOOS = "windows" 

$env:GOARCH = "amd64" 

go build -o main.exe main.go

在 CMD Command Prompt:


set GOOS=darwin

set GOARCH=amd64

go build -o main.dmg main.go

在 Linux 或 Mac 中执行此操作并编译为 Win


GOOS=windows GOARCH=amd64 go build -o main.exe main.go

交叉编译会默默地重建大部分标准库,因此会很慢。为了加快进程,您可以在系统上安装交叉编译所需的所有标准包,例如在 Linux/Mac 上安装交叉编译windows-amd64使用要求:


GOOS=windows GOARCH=amd64 go install

对于您需要在 Windows 上交叉编译的任何其他操作系统,类似


查看完整回答
反对 回复 2022-06-06
  • 2 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信