我有一个加载.so插件的可执行文件。
可执行文件被链接,-rdynamic以便可以发生符号回调。
我有一个包含在可执行文件中的静态库。这有一个BLAH_hello()在.a
可执行文件中不使用静态库。BLAH_hello()即在可执行代码中没有调用。
但是,.so确实有调用BLAH_hello().
当我抱怨一个未定义的符号dlopen()时.soBLAH_hello()
如果BLAH_hello()我在可执行代码中包含一个虚拟调用,例如BLAH_hello(NULL);. 该符号包含在可执行文件中,并且在.so加载时会找到该符号。
我确信我也可以将 ' 链接到.so但.a多个动态加载.so的 ' 使用BLAH_hello调用,因此将它放在可执行文件中是有意义的。如果我将库链接到每个.so.
所以我想知道的是,.a即使它们实际上并未在可执行文件中使用,如何将它们的符号放入可执行文件中?