在Go中为整个模块创建共享对象文件

问题描述

我正在尝试为整个Go模块创建一个.so文件,我的模块目录如下所示:

    goAgent/
       -- cavagent.go file
       -- modules/
          -- sample/
          -- differentsample/

当我在goAgent /中创建一个.so时,我得到的只是.go文件功能,而不是其他Go模块内部的功能。有什么已知的方法可以找到几个Go模块中存在的功能

我想要的是模块的Go文件中存在的功能,即sample /和differentsample /应该在我的.so内部可用。

如果您可以在下面看到目录的名称,则为goAgent /,它包含一个modules文件夹,该文件夹又包含不同的模块。我希望这些子模块文件中存在的功能出现在我的.so中,这是整个goAgent /和子文件夹的通用.so

enter image description here

目前,我的.so仅包含cavagent.go文件功能

我使用-buildmode = shared -linkshared命令创建了.so

解决方法

[我可以在Go中为整个模块创建一个共享的对象文件吗[?]

否。