猿问

Go 中交叉编译的 pkg 导入

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

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

http://img4.mukewang.com/61af20cb0001191f06450450.jpg

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

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


MYYA
浏览 270回答 1
1回答

SMILET

根据 go-yara 说明,您需要在 Debian 机器上编译两者。go-yara 上的 Go 编译说明显示它在 debian 机器上为 windows 386 进行交叉编译。因此,您可以在 Debian 构建机器上运行这两个程序,然后复制 windows 二进制文件以运行该应用程序。
随时随地看视频慕课网APP

相关分类

Go
我要回答