有没有办法动态链接有依赖关系的共享库?动态链接共享库与依赖关系
例如,我有两个库,libA.so和libB.so. libB.so调用libA.so中定义的函数。
在我的主程序中,我希望用dlopen加载这两个库。但是,如果我尝试:
dlopen(libA.so);
dlopen(libB.so);
然后第二个dlopen将失败,因为libB具有无法识别的符号。
我可以想到一些解决方法,比如将所有的目标文件构建到一个共享库中,或者让libB.so在libA.so上调用dlopen,但这是额外的工作。
我想我想象这个工作的方式就像在内核模块的情况下,你可以使用“EXPORT_SYMBOL()”来允许其他模块调用在以前加载的模块中定义的函数。
可以用共享库做类似的事情吗?或者我将不得不使用我的解决方法?
谢谢!这正是我想要的 – Tony 2014-10-30 21:05:47