Go 从Windows到其他OSs的交叉编译
我阅读并了解了这项活动,其中提到的行动如下:Go 从Windows到其他OSs的交叉编译,go,Go,我阅读并了解了这项活动,其中提到的行动如下: %env GOOS=darwin GOARCH=386 go build hello.go //或 %env GOOS=linux GOARCH=arm GOARM=7 go构建hello.go //等等 但是在Windows中没有名为env的命令,我得到以下信息: “env”未被识别为内部或外部命令, 可操作的程序或批处理文件。 在windows powershell上,您应该能够执行以下操作: $env:GOOS = "linux" $env:
%env GOOS=darwin GOARCH=386 go build hello.go
//或
%env GOOS=linux GOARCH=arm GOARM=7 go构建hello.go
//等等
但是在Windows中没有名为env
的命令,我得到以下信息:
“env”未被识别为内部或外部命令,
可操作的程序或批处理文件。
在windows powershell上,您应该能够执行以下操作:
$env:GOOS = "linux"
$env:GOARCH = "arm"
$env:GOARM = "7"
go build hello.go
要查看支持的编译工具:
go-tool-dist-list
交叉编译不使用cgo
,即不使用任何文件有导入“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命令提示符下
:
set GOOS=darwin
设定目标=amd64
go build-o main.dmg main.go
在Linux或Mac上完成并编译以获得成功
GOOS=windows GOARCH=amd64 go build-o main.exe main.go
交叉编译将以静默方式重建大多数标准库,因此速度相当慢。要加快此过程,您可以在系统上安装交叉编译所需的所有标准软件包,例如,要在Linux/Mac上安装windows-amd64的交叉编译要求,请使用:
GOOS=windows GOARCH=amd64 go安装
与需要在Windows上交叉编译的任何其他操作系统类似,谢谢,我做了以下操作:
$env:GOOS=“darwin”$env:GOARCH=“amd64”go构建分组。go
获得了一个没有扩展名的新文件add-o grouping.exe
mm.exe
这不是仅适用于Windows吗?哦,对不起,当您执行-o
时,由于某种原因,顺序很重要,您必须执行执行build-o test.dmg分组。执行不确定,从未执行过,这可能有帮助?