有人试图编译Windows上的Go,现在似乎支持生成PE格式的二进制文件

http://code.google.com/r/hectorchu-go-windows/source/list

如果你能成功编译,我想知道如何操作的程序。

假设你正在使用Hector的源代码树 :

  1. 安装MinGW和MSYS,以及MSYS Bison和其他你觉得很有用的工具(vim等)。
  2. 从GNUWin32项目安装。
  3. 安装Python和Mercurial 。
  4. 将[hectorchu-go-windows mercurial repository]( https://hectorchu-go-windows.googlecode.com/hg/hectorchu-go-windows)复制到C:\Go
  5. 运行一个MSYS shell(或rxvt)。 其余的是bash命令…
    1. mkdir $HOME/bin
    2. export PATH=$HOME/bin:$PATH
    3. export GOROOT=C:\\Go
    4. export GOARCH=386
    5. export GOOS=mingw
    6. cd /c/Go/src
    7. ./all.bash
    8. 纠正错误,因为它吐出你,重复第10步,直到它开始建设。

这基本上和Linux或MacOS上的一样。

不过,我仍然坚持我在上面的评论中所说的话:这不一定会产生任何实际上有用的东西。 除非您的兴趣在于协助移植工作,否则在处理之前,您一直等到这个工作合并到主Go树后才能更好地服务。

更新:现在有一个大多数功能预建的Windows端口可用,对那些不感兴趣的编译器本身。 但是,考虑到项目的变化速度,缺乏正式版本(除了“发布”标签)以及赫克托变更很快就会被合并到主要分支机构的可能性,而通过源代码生成来保持发展以产生更好的结果。

只是供参考,现在看来是官方的。

http://code.google.com/p/go-windows/

赫克托说,他只能尽可能编译和运行一个空的主力。 参见问题107:

http://code.google.com/p/go/issues/detail?id=107

在移植的时候还有很多工作要做,特别是因为代码对ptrace和syscall有很多的依赖,更不用说Linux / BSD和Windows之间的不同的线程模型了。

更新:

golang-nuts上有一个新的线程 (从26.03.2010开始),链接到最近的构建和一些当前的构建指令(使用MinGW + MSYS)。