【问题标题】:Cross compiled pkg import in GoGo 中交叉编译的 pkg 导入
【发布时间】:2016-01-30 14:00:40
【问题描述】:

我想在 Windows 上使用名为 "go-yara" 的 go 模块,我在基于 Debian 的 Linux 系统上进行了交叉编译。一切都按预期工作。该构建会在 $GOPATH/pkg/windows_386/github.com/hillu/ 文件夹中创建一个 go-yara.a 文件。

但是,当我尝试在 go 程序中使用该模块时,它似乎试图从 src 重新编译该模块,指出缺少 yara.h 文件。对,那是正确的。 Windows 上没有 yara.h。在 Linux 上编译 yara 及其头文件对我来说要容易得多。

在 Linux 上进行交叉编译时确实需要此文件。为什么我在 Windows 上也需要它? pkg 文件夹中的go-yara.a 还不够吗?为什么它会忽略 .a 文件并尝试从其源代码编译模块?我可以强制它使用pkg文件夹中的预编译模块吗?

我是 Golang 的新手,所以请原谅我的无知。

【问题讨论】:

    标签: go cross-compiling


    【解决方案1】:

    根据 go-yara 的说明,您需要在 Debian 机器上编译两者。 go-yara 上的 Go 编译说明显示它是在 Windows 386 的 debian 机器上交叉编译的。所以你可以在你的 Debian 构建机器上运行两者,然后复制 windows 二进制文件以运行应用程序。

    【讨论】:

      猜你喜欢
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      • 2017-06-26
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 1970-01-01
      相关资源
      最近更新 更多