登录
首页 >  Golang >  Go问答

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

来源:Golang技术栈

时间:2023-04-16 14:49:20 258浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《从 Windows 交叉编译到其他操作系统》,就很适合你!文章讲解的知识点主要包括golang,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我阅读[了这个](https://dave.cheney.net/2015/03/03/cross-compilation-just-got-a- whole-lot-better-in- go-1-5)和这个关于这个活动的内容,并且提到的动作是:

% 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.

正确答案

检查支持的编译工具: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 上交叉编译的任何其他操作系统,类似

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《从 Windows 交叉编译到其他操作系统》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>