Windows 是否可以使用Go编译器为其他操作系统分发可执行文件?
我目前正在Mac OS X上工作,现在我需要构建一个.exe文件,以便Go程序可以在windows上运行。Windows 是否可以使用Go编译器为其他操作系统分发可执行文件?,windows,macos,go,compiler-construction,Windows,Macos,Go,Compiler Construction,我目前正在Mac OS X上工作,现在我需要构建一个.exe文件,以便Go程序可以在windows上运行。 所以这里有一个问题,如何在MacOS amd64下为Win X86构建一个可执行文件?或者不可能做到这一点吗?如果您不使用CGo而使用纯Go,那么它是完全可行和标准的 首先,您必须在开发计算机上为目标创建Go环境。假设您的Go安装在~/var/Go中,这可能是: cd ~/var/go/src CGO_ENABLED=0 GOOS=windows GOARCH=386 ./make.bas
所以这里有一个问题,如何在MacOS amd64下为Win X86构建一个可执行文件?或者不可能做到这一点吗?如果您不使用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
以下是。我已经使用和附带的shell脚本在linux上为linux、windows和OS X构建了二进制文件。(由我的项目使用)
它与dystroy所描述的方法完全相同,只是有逐步的说明和一些有用的shell别名
2021年2月更新
如果你想在你的CI中插入一些东西,那么我建议-这可以自动交叉编译各种操作系统和构建包。如果您想查看完全使用goreleaser构建的示例,请参见和另请参见复制?我想,我以后再试试。;-)哇,你链接的博客是如此密集和有用!谢谢:)所以你想说我可能坐在OSX 10.10.2里。通过OSX,我可以为Linux或Windows编译和构建一个软件包?@YumYumYum是这样的想法,是的