我在Linux中加载共享库时遇到一个奇怪的问题。在我的应用程序中有两个共享库(假设abc.so和xyz.so)。 abc.so依赖于xyz.so,即每当你尝试加载abc.so时,jvm将首先加载xyz.so.System.load()方法不加载设置LD_LIBRARY_PATH环境变量的共享库
现在,当我通过将LD_LIBRARY_PATH设置为包含这两个库的文件夹来加载这些库时,它的工作没有任何问题。但是,当我试图加载与System.load(“%FULL_PATH%/ abc.so”)abc.so它没有得到加载。以下行显示为错误: 未定义符号:__cxa_pure_virtual。
任何人都可以帮助我理解这个错误吗?提前致谢!
注意:由于某些项目要求,我无法更改LD_LIBRARY_PATH,因此需要使用System.load()方法加载abc.so。