是否可以使用Go编译器为其他操作系统分发可执行文件?

时间:2012-12-20 07:47:49

标签: windows macos compiler-construction go distribution

我目前正在使用Mac OS X,现在我需要构建一个.exe文件,以便Go程序可以在Windows上运行。 那么问题是如何在MacOS amd64下为Win X86构建可执行文件?或者这样做不可能吗?

2 个答案:

答案 0 :(得分:28)

如果你不使用CGo而不使用纯Go,那么它是完全可行和标准的。

首先,您必须在开发计算机上为目标创建Go环境。假设您的Go安装位于~/var/go,可能是这样的:

cd ~/var/go/src
CGO_ENABLED=0 GOOS=windows GOARCH=386 ./make.bash

然后用好的GOOS和GOARCH编译:

GOOS=windows GOARCH=386 go build -o hello.exe hello.go

这是the go-wiki page on building a windows exe on linux

答案 1 :(得分:7)

我已经使用Dave Cheney's tutorial和附带的shell脚本在Linux上为linux,windows和OS X构建二进制文件就好了。 (由我的stressdisk项目使用)

这与使用逐步说明和一些有用的shell别名的破坏描述的方法完全相同。