Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 如何交叉编译_Go_Cross Platform_Cross Compiling - Fatal编程技术网

Go 如何交叉编译

Go 如何交叉编译,go,cross-platform,cross-compiling,Go,Cross Platform,Cross Compiling,我只是从linux-amd64位体系结构为linux-ARM64位体系结构构建简单的应用程序,但在构建GOlang builder时,绑定一些库时出错,如下所示 go build github.com/DataDog/zstd:build约束排除了中的所有go文件 我只是想知道,为了构建不同的交叉编译体系结构,是否需要该体系结构的库? 例如,如果我正在为ARM64库构建,那么ARM64支持的库安装在我的系统上 谢谢尝试如下设置环境变量。在构建之前,您可能需要先获取外部依赖项。 GOARCH=“

我只是从
linux-amd64
位体系结构为
linux-ARM64
位体系结构构建简单的应用程序,但在构建GOlang builder时,绑定一些库时出错,如下所示

go build github.com/DataDog/zstd:build约束排除了中的所有go文件

我只是想知道,为了构建不同的交叉编译体系结构,是否需要该体系结构的库? 例如,如果我正在为
ARM64
库构建,那么
ARM64
支持的库安装在我的系统上


谢谢

尝试如下设置环境变量。在构建之前,您可能需要先获取外部依赖项。
GOARCH=“arm64”

运行
go-build
不会交叉编译。您应该执行一个
GOARCH=amd64 go build…
来交叉编译。要交叉编译普通Go代码,您所需要的只是Go安装的一部分。如果一个软件包需要特殊的C库:请查阅该软件包的文档。正如Volker所说,官方的Go SDK能够交叉编译到支持的操作系统和架构组合,而不需要额外的文件和工具。第三方软件包是否具备所需的一切是另一个问题。编译跨环境的命令
env-GOOS=linux-GOARCH=arm64-go-build
,正如我提到的,仍然会出现错误。我真的不知道错误到底是什么:(已经做过了…仍然有问题,所以这就是为什么我发布这个问题来获取关于交叉编译的更多信息