Go 无法为共享对象编译插件

Go 无法为共享对象编译插件,go,plugins,compiler-errors,shared-libraries,static-libraries,Go,Plugins,Compiler Errors,Shared Libraries,Static Libraries,看起来我的问题是GoLang在插件中包含了运行时,因此它们不能被共享。是的 go安装-buildmode=shared std 然后我尝试将我的插件编译为共享插件: go build -buildmode=plugin -linkshared /tmp/code_SUM.go # command-line-arguments runtime.islibrary: missing Go type information for global symbol: size 1 我的代码 # cat

看起来我的问题是GoLang在插件中包含了运行时,因此它们不能被共享。是的

go安装-buildmode=shared std

然后我尝试将我的插件编译为共享插件:

 go build -buildmode=plugin -linkshared /tmp/code_SUM.go
# command-line-arguments
runtime.islibrary: missing Go type information for global symbol: size 1
我的代码

# cat /tmp/code_SUM.go
package main
import (
        "fmt"
)
func SUM(x int, y int) int { fmt.Println("")
return x+y}

是否有任何解决方法或某种方法来修补/更改Go编译器/语言,以使我的程序正常运行?

请查看此帮助。@leafbebop谢谢,但当我尝试降级时,如一条评论中所述,问题仍然存在。我认为也许有人必须提出一个补丁,或者改变Go编译器/语言的实际行为,才能让我的程序实现。我尝试这样做的原因是,我们打算在运行时生成大量插件,我们不能让生成的对象变得非常大,因为在运行时可能会生成数千个插件。嗨,Niklas,你找到解决问题的方法了吗?我在围棋中也遇到了同样的问题。12@Oswin没有解决方案,但此链接提供了更多信息。这是一篇有趣的文章,介绍了解决此问题的步骤以及您将遇到的问题: