在Go中交叉编译pkg导入

时间:2016-01-30 14:00:41

标签: go cross-compiling

我想在Windows上使用名为"go-yara"的go模块,我在基于Debian的Linux系统上交叉编译。一切都按预期工作。构建在com.example文件夹中创建.Mac文件。

enter image description here

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

enter image description here

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

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

1 个答案:

答案 0 :(得分:3)

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