28

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

4

2 回答 2

31

如果您不使用 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

这是关于在 linux 上构建 windows exe 的 go-wiki 页面

于 2012-12-20T07:53:34.083 回答
8

我已经使用Dave Cheney 的教程和随附的 shell 脚本在 linux 上为 linux、windows 和 OS X 构建二进制文件就好了。(由我的压力磁盘项目使用)

它与 dystroy 描述的方法完全相同,只是带有分步说明和一些有用的 shell 别名。

2021 年 2 月更新

如果你想在你的 CI 中插入一些东西,那么我推荐goreleaser - 它可以自动交叉编译各种操作系统并构建包。如果您想查看示例,请查看完全使用 goreleaser 构建的压力磁盘发布页面- 请参阅配置说明

于 2012-12-20T10:15:34.837 回答