【发布时间】:2019-05-04 10:26:45
【问题描述】:
我只是从linux amd64 位架构为linux ARM64 位架构构建简单的应用程序,但是在构建 GOlang 构建器时,绑定一些库时出错,如下所示
go build github.com/DataDog/zstd: build constraints exclude all Go files in
我只是想知道,为了构建不同的交叉编译架构,是否需要该特定架构的任何库?
前任。如果我正在为ARM64 库构建,那么我的系统上安装了ARM64 支持的库?
谢谢
【问题讨论】:
-
运行
go build不会交叉编译。您应该使用GOARCH=amd64 go build ...进行交叉编译。要交叉编译纯 Go 代码,您所需要的只是 Go 安装的一部分。如果包需要特殊的 C 库:请查阅该包的文档。 -
正如 Volker 所说,官方 Go SDK 能够交叉编译到支持的操作系统和架构组合,而无需额外的文件和工具。第三方软件包是否具备所需的一切是另一个问题。
-
命令编译
env GOOS=linux GOARCH=arm64 go build仍然给出错误的交叉环境,正如我所提到的。我真的没有得到实际上是什么错误:(
标签: go cross-platform cross-compiling