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

Giz*_*zak 24 windows compiler-construction macos distribution go

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

Den*_*ret 27

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

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

cd ~/var/go/src
CGO_ENABLED=0 GOOS=windows GOARCH=386 ./make.bash
Run Code Online (Sandbox Code Playgroud)

然后用好的GOOS和GOARCH编译:

GOOS=windows GOARCH=386 go build -o hello.exe hello.go
Run Code Online (Sandbox Code Playgroud)

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


Nic*_*ood 7

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

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