Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 是否可以使用Go编译器为其他操作系统分发可执行文件?_Windows_Macos_Go_Compiler Construction - Fatal编程技术网

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

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

我目前正在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.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是这样的想法,是的