【问题标题】:Can Go compiler be installed on Windows?Go 编译器可以安装在 Windows 上吗?
【发布时间】:2010-12-15 14:47:13
【问题描述】:

我一直在寻找 Windows 编译器的 golang.org,但我似乎找不到它。我只能看到 Linux 和 OS X 编译器。有谁知道 Go 编程是否可以在 Windows 上完成,还是 Google 还没有实现?

更新:截至目前(2012 年 11 月)golang.org 似乎有适用于 windows 32/x86_64 的官方二进制版本。

【问题讨论】:

  • groups.google.com/group/golang-nuts - 你会在那里找到答案。
  • gofmt.com/compile.html 如果你想在 Windows 上尝试一些非破坏性的 Go 编程。它可以编译、链接和运行您的程序并显示输出。如果您在该网站上发现任何漏洞,请给我发私信。谢谢!
  • 更新:erGo 编译器已于本周发布以进行 beta 测试。开发商 Russel Newquist 在下面的 cmets 中回答了。 newquistsolutions.com/ergo
  • 我投票决定将此问题作为离题结束,因为golang.org 网站自第一个官方 (1.0) 版本以来就提供官方 Windows 软件包。

标签: windows go


【解决方案1】:

现在有适用于 Windows 的安装程序,请参阅 Go under Windows

HelloWorld.go

package main

func main() {
    println("Hello World!");
}

8g编译,用8l链接,然后执行。示例:

8g HelloWorld.go
8l -o HelloWorld.exe HelloWorld.8
HelloWorld

【讨论】:

  • Go 的另一个 Win32 版本(2010-08-04 发布):code.google.com/p/gomingw/downloads/list
  • 不幸的是,我无法让这个端口正常工作。 8l 链接器总是抱怨 runtime.a 丢失,并且在调用后不久它也会崩溃。
  • @Victor:我刚刚设置了这个(在 2010 年 12 月 11 日),它可以很好地编译和链接 HelloWorld、PrimeSieve 和 Wiki 示例。三个程序都运行了。
  • mingw 端口似乎无需安装任何特殊环境即可工作 (code.google.com/p/gomingw/downloads/list)。至少它编译并链接了我尝试过的几个示例。
  • 感谢 Jonas 的友好和有用的回复。
【解决方案2】:

它尚未出现在 Go Lang 常见问题解答中,但来自 the changelog

为什么 Go 不能在 Windows 上运行? 我们知道世界上很大一部分计算机 运行 Windows,如果这些计算机可以运行 Go,那就太好了 程式。但是,Go 团队很小,我们没有 目前做 Windows 移植的资源。我们将 非常愿意回答问题并向任何人提供建议 愿意开发一个Windows版本。

【讨论】:

  • 虽然这个答案得到了高度评​​价,但它现在已经过时了。
【解决方案3】:

是的!截至 2012 年,Go 主页提供官方 Windows 安装程序(32 位或 64 位)https://golang.org/dl/

【讨论】:

    【解决方案4】:

    尽管 Go 才刚刚推出两天,但这个问题已经成为 Go 邮件列表上的常见问题解答。 (很遗憾,它还没有被添加到网站的常见问题列表中。)

    基本上,Go 是由一小部分人完成的,所以他们根本没有时间和资源来做 Windows 移植。那一小群人也恰好是 Unix 的发明者,所以这是自然而然的第一个目标。

    【讨论】:

    • AFAIK,他们在 20% 的时间里开发 Go,而不是全部时间。 (无论如何,这就是我读到的内容。)无论如何,我的回答本来就是非常大舌头非常深刻的。
    • 实际上,历史页面指出,虽然它最初是一个业余项目,但现在至少对一些开发人员来说是一个全职项目。我编辑了答案,基本上删除了关于兼职限制的评论。
    • 我赞成你:)
    • 他们发明了 Unix?所以这是一个退休项目?
    • 嗯,他们还发明了Plan9,Unix的继任者。还有 Inferno,Plan9 的继任者。还有 C。还有 Limbo,这是编写 Inferno 的垃圾收集系统编程语言。(因此,在某种意义上,它是 C 的继任者和 Go 的前身。)还有 Newsqueak 并发编程语言(在某种意义上也是 Go 的前身,尤其是 Goroutines。)以及在 Limbo、Inferno 以及标准 ML 的某些实现中使用的非常并发垃圾收集器。和 UTF-8。所以,在 Unix 和 Go 之间的 40 年里,他们并非没有一直忙碌。
    【解决方案5】:

    因此,如果您像我一样经常使用 Windows,并且现在想进行一些 Go 编程,您可以在 VM 上进行。我使用以无缝模式运行 Ubuntu 的 VirtualBox。我已经设置好了,因为在很多事情上我比 Windows 更喜欢 Linux。

    构建和使用 Go 对我来说完全没有痛苦。我在终端中打开了一个 Bash 来运行我的构建并尝试我的应用程序。源目录是 Windows 和 Linux 之间的共享文件夹(VirtualBox 功能,但我确信 VMWare 具有相同的功能)。我在 Windows 上的 Komodo Edit 中编辑我的代码,并将 Mercurial 用于两个操作系统上的相同源代码。

    【讨论】:

    • 如上所述,我在 windows 机器上安装了 ubuntu(带有 virtualbox)然后就开始了。
    【解决方案6】:

    还没有。

    Go 的作者在非 Windows 操作系统上有着非常深厚的根基(琐事:他们中的谁创造了不亚于 UNIX 操作系统)

    所以,不要指望他们很快就会有 Windows 端口。

    该语言是开源的,因此 Windows 实现可用只是时间问题(从 6 到 8 个 ehrm 月)。

    【讨论】:

    • 您在业余时间编写编译器的 Unix 作者与“不要指望 Windows 端口”之间的联系很有趣,因为他们在更改日志中指出(请参阅 mbarnett 的回答)只是因为他们没有资源。
    • “不关心”的另一个(软)措辞。
    • 是的,就像 Linus 自己为 Windows 创建一个 git 端口。这永远不会发生(虽然端口是由其他人创建的)
    【解决方案7】:

    虽然目前没有Windows版本,但想必可以在Windows平台上使用Cygwin编译。

    【讨论】:

    • 您可以在 cygwin 下编译它并进行大量返工,但即便如此,您最终还是会得到一个输出 ELF 的 6g/8g 编译器,而不是本机 Windows 二进制文件。然而,这仍然是一个很好的第一步。 code.google.com/p/golang-on-cygwin 构建成功后,下一步将修复编译器以生成 Windows 可执行代码。
    【解决方案8】:

    将 Go 移植到 windows 的各种努力正在进行中。

    最先进的已经可以构建和运行一些代码的代码在这里:http://code.google.com/r/hectorchu-go-windows/

    【讨论】:

      【解决方案9】:

      如果您使用experimental x32 windows port,则在 Windows 上安装 Go 非常简单。 Go installation on windows 的步骤文档可以找到 here

      您可能还需要 MinGW 工具(bash、make、gcc 等...): http://sourceforge.net/projects/mingw/files/

      以及 GTK+ 文件和工具(“一体式捆绑包”包括 pkg-config): http://www.gtk.org/download/win32.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-08
        相关资源
        最近更新 更多