小编典典

交叉编译在OSX上运行?

go

我正在尝试在OSX上交叉编译go应用程序,以为Windows和Linux构建二进制文件。我已经阅读了所有可以在网上找到的东西。我发现的最接近的示例已发布(除了有关go-
nuts邮件列表的许多未完成的讨论之外):

http://solovyov.net/en/2012/03/09/cross-compiling-
go/

但它不适用于我的安装。我去了1.0.2。由于1.0.2是最近的版本,因此在我看来上述所有示例均不适用于该版本。

试图./make.bash --no-clean与ENV vars设置为386 /
windows一起使用,它确实可以编译,但是对于我的安装它可以编译,这darwin/amd64完全忽略了ENV中设置用来构建不同编译器的设置。

有没有人建议如何做到(如果可以做到的话)?


阅读 201

收藏
2020-07-02

共1个答案

小编典典

使用Go
1.5,他们似乎改善了交叉编译过程,这意味着它已内置。不需要./make.bash-ing或brew-ing。这里描述该过程但是对于那里的TLDR-ers(像我一样):您只需设置GOOSGOARCH环境变量并运行go
build。

对于甚至更懒惰的复制粘贴器(例如我),如果您使用的是* nix系统,请执行以下操作:

env GOOS=linux GOARCH=arm go build -v github.com/path/to/your/app

您甚至学到了env技巧,它使您可以完全免费地为该命令设置环境变量。

2020-07-02