【发布时间】:2011-06-09 17:01:04
【问题描述】:
我在 Linux 中加载共享库时遇到了一个奇怪的问题。我的应用程序中有两个共享库(假设 abc.so 和 xyz.so)。 abc.so 依赖于 xyz.so,即每当您尝试加载 abc.so 时,jvm 将首先加载 xyz.so。
现在,当我通过将 LD_LIBRARY_PATH 设置为包含这两个库的文件夹来加载这些库时,它的工作没有任何问题。但是,当我尝试使用 System.load("%FULL_PATH%/abc.so") 加载 abc.so 时,它没有被加载。以下行显示为错误: 未定义符号:__cxa_pure_virtual。
谁能帮助我理解这个错误?提前致谢!
注意:由于某些项目要求,我无法更改 LD_LIBRARY_PATH,因此我需要使用 System.load() 方法加载 abc.so。
【问题讨论】:
标签: linux shared-libraries environment-variables