调试时出错“插件是用不同版本的包构建的”失败
我构建了我的 .so 文件:
go build -buildmode=plugin -o test.so
并使用 Goland 运行调试,然后出现错误:
Error running agent: could not initialize input inputs.plugin_input: plugin.Open("./plugins_lib/test1"): plugin was built with a different version of package runtime/internal/sys
但是我可以在我的终端中构建我的主程序,它会运行良好。
回答
该插件应使用与主应用程序相同的标志进行编译。
如果已使用 IDE 编译应用程序,则将 加入-gcflags="all=-N -l"
上述go build ...
命令。
go build -buildmode=plugin -gcflags="all=-N -l" -o test.so
另外,如果IDE是Goland,主应用的构建命令可以在Goland的调试控制台找到。