我正在为应用程序编写插件。应用程序将使用dlopen()
. 平台是 Fedora Linux 11。我拥有该应用程序的所有源代码。
我已经成功地将我的代码添加到应用程序中,并且它链接得很好,因为整个应用程序都被同时链接了。但是,最终我希望我的代码成为一个单独的插件。
我无法将我的代码构建为插件。我将其构建为共享(.so)库。g++
-L
我的代码自然引用了应用程序中的符号,因此我需要使用and-l
选项指定插件链接到的库。但是,接受我的插件的应用程序是一个可执行文件,而不是一组 .so 库。
我在这里遗漏了一些基本观点。如何链接我的插件?
请注意,我仍在尝试构建我的插件——我还没有到尝试使用dlopen()
.
解决方案:谢谢大家的回答。我使用了 nemo 建议的 --just-symbols 方法,效果很好。谢谢!