语音解读

图文解释

我正在使用Windows 7 [32位]操作系统。

我正在构build示例去程序。

我想从我的Windows 7 [32位]操作系统编译这个程序的所有平台。

我想编译我所有的Linux [32/64] / Mac OSX [32/64] / Windows[32/64] 。

Haskell 32到64位交叉编译

如何覆盖在Linux下elf可执行文件的.interp标头中指定的链接器?

Make:指定交叉编译器path时找不到命令

在32位机器上创build一个64位Debian软件包

为Pandaboard交叉编译Qt

可能不是来自我的单一操作系统吗?

编译Mingw-Cross-Compiler的问题:“/ lib / cpp”无法进行完整性检查

在Windows TO Linux / OSX中用Python进行交叉编译

从(open)Solaris到Windows的交叉编译?

在Windows上的Linux编译器

在Ubuntu Linux中从Eclipse交叉编译Windows应用程序?

更新Go 1.5:请参阅“ 交叉编译在Go 1.5中获得了更多的好处 ”

为了成功的交叉编译,你需要

目标平台的标准库,其中包括在您的Go发行版构建时生成的一些文件。

随着将Go编译器翻译成Go的计划在1.5版本中实现,现在第一个问题已经解决。

package main import "fmt" import "runtime" func main() { fmt.Printf("Hello %s/%sn",runtime.GOOS,runtime.GOARCH) }

% env GOOS=darwin GOARCH=386 go build hello.go # scp to darwin host $ ./hello Hello darwin/386

或为Linux / ARM构建

% env GOOS=linux GOARCH=arm GOARM=7 go build hello.go # scp to linux host $ ./hello Hello linux/arm

原始答案(Go 1.4和之前)

你可以尝试像gox这样的工具

Gox是一个简单,没有多余的工具,用于Go交叉编译,其行为与标准的构建非常相似。

Gox将并行化多个平台的构建。

Gox也会为你建立交叉编译工具链。

在使用Gox之前,你必须建立交叉编译工具链。 Gox可以为你做这个。 这只需要执行一次(或者当你更新Go时):

$ gox -build-toolchain

您还将在“ 为多个平台开发Go ”中找到许多跨平台开发技巧。

充满激情的开发人员指出,即使问题10报告在Windows上成功运行gox,也会由OP Nakka Chandra 发行 。