【发布时间】:2014-03-20 15:42:23
【问题描述】:
我正在尝试将 .go 源文件编译为 .linux 文件。我在 Windows 7 64 位上使用 TDM-GCC-64。
我已将我的 GOOS 设置为“linux”。我还将 GOARCH 设置为 amd64。
然后我使用 make.bat 在 C:\Go\src 中重建 Go。这一切都成功运行。
编译运行成功,但每次编译一个 Windows .exe,尽管设置了系统变量。
我的问题是如何克服这个问题 - 我做错了什么?
编辑:我在 TDM-GCC 之前安装了 MinGW,但它不起作用。
【问题讨论】:
-
您确定您的
GOOS和GOARCH变量已导出,因此被正在运行的进程看到了吗? -
如果使用 GCC 不是一个强要求,我建议看看这两种更简单的方法:github.com/mitchellh/gox 和 dave.cheney.net/2013/07/09/…
-
感谢 kostix - 我通过 Win7 GUI 中的高级设置将它们手动添加到系统变量中,而不是从命令行。我怎么知道它们是否被导出?
-
感谢 Kluyg,它看起来不错 - 我会试试的!
-
Kluyg,我尝试了你的第一个建议:gox,这很有效,但不是直接的。它需要我重建 Go(创建工具链?),这引发了需要 gcc 的错误,所以我重新安装了 TDM-GCC,它确实有效。没有任何效果,这对于交叉编译来说是一种享受,所以谢谢。
标签: go cross-compiling