我正在尝试使用 golang 插件,但在调用时总是出现运行时错误plugin.Open。
plugin.Open: plugin was built with a different version of package
我确信该插件是使用相同的代码构建的。现在我对错误消息完全感到困惑。
这些验证机制如何工作?
src/runtime/plugin.go:
for _, pkghash := range md.pkghashes {
if pkghash.linktimehash != *pkghash.runtimehash {
md.bad = true
return "", nil, "plugin was built with a different version of package " + pkghash.modulename
}
}
Run Code Online (Sandbox Code Playgroud)