语音解读
图文解释
我正在使用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 发行 。