调试时出现错误“插件是用不同版本的包构建的”失败
Failed in error “plugin was built with a different version of package” while debugging
我构建了我的 .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的调试控制台可以找到主程序的构建命令。
我构建了我的 .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的调试控制台可以找到主程序的构建命令。