我会尽力解释的。
BaseModule.so有
的
模组1.所以
class
中有一些变化)
Module2.so
and /h具有class
的access1 access2对象
当三个模块都加载时,段故障
在模块2中,我发现模块2中的access1类是使用来自Mod1的core.cpp函数,而不是使用来自BaseModule的函数
它不应该使用来自BaseModule的core.cpp函数,因为它们是不同的,因此也是不同的?
我只能修改模块一如何解决这个问题,如何防止将来发生这样的事情..
Linux中的编译器gcc我们正在添加模块…不要触及BaseMod函数。
发布于 2019-12-09 04:48:46
最后找到了解决上述问题的方法。
问题是..。Module1.so的makefile引用了BaseModule库,因此,当下一个so (Module2)试图访问BaseModule引用时,核心中的函数( core.cpp )将被模块1.so中的core.cpp函数覆盖。
修改makefile (删除对BaseModule的库引用)解决了我的问题。
https://stackoverflow.com/questions/59234671
复制相似问题