2 回答

TA贡献1776条经验 获得超12个赞
您可以考虑即将发布的 Go 1.5(2015 年第 3 季度),这将使所有交叉编译过程变得更加简单。
“交叉编译环境”更容易理解,因为它完全基于 Go。
戴夫·切尼细节在新闻“交叉编译只是得到了一大堆好围棋1.5 ”
)
为了成功的交叉编译,你需要
目标平台的编译器,如果它们与您的主机平台不同,即您使用的是 darwin/amd64 (6g) 并且您想为 linux/arm (5g) 编译。
目标平台的标准库,其中包含在构建 Go 发行版时生成的一些文件。
随着将Go 编译器翻译成 Go的计划在 1.5 版本中实现,第一个问题现已解决。
package main
import "fmt"
import "runtime"
func main() {
fmt.Printf("Hello %s/%s\n", runtime.GOOS, runtime.GOARCH)
}
为 darwin/386 构建
% 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
- 2 回答
- 0 关注
- 245 浏览
添加回答
举报