Linuxで共有ライブラリを読み込む際に奇妙な問題に直面しています。私のアプリケーションには2つの共有ライブラリ(abc.soとxyz.soを想定)があります。 abc.soは、abc.soをロードしようとするたびにxyz.soに依存します.jvmは最初にxyz.soをロードします。System.load()メソッドはLD_LIBRARY_PATH環境変数を設定せずに共有ライブラリをロードしません
ここで、LD_LIBRARY_PATHをこれらの2つのライブラリを含むフォルダに設定することによって、これらのライブラリをロードすると、問題なく動作します。しかし、System.load( "%FULL_PATH%/ abc.so")でabc.soをロードしようとしているとき、ロードされていません。次の行はエラーとして表示されます。 未定義シンボル:__cxa_pure_virtual。
このエラーを理解するのに役立つ人はいますか?前もって感謝します!
注:プロジェクトによっては、LD_LIBRARY_PATHを変更できないため、System.load()メソッドを使用してabc.soをロードする必要があります。