По сути, вопрос в этом. У меня есть Java-программа, с которой я загружаю библиотеку JNI. Может ли библиотека JNI быть связана с общей библиотекой HotSpot libjvm.so
и, соответственно, функциями вызова, уникальными для HotSpot, то есть вне jni.h
?Ссылка на код JNI с JVM
Когда я пытаюсь сделать это прямым путем, в результате программа сбой с:
java: symbol lookup error: /path/to/libtest.so: undefined symbol: _ZNK7oopDesc5klassEv
Это дает появление не в состоянии загрузить, потому что он не может разрешить HotSpot уникальный oopDesc. Любые предложения по созданию библиотеки, которые могут быть связаны таким образом?
Редактировать: Пробовал также ссылаться на libjava.so
во время компиляции без успеха.
Спасибо, я проверил это, но это не проблема. Все еще происходит даже при привязке к тем же библиотекам. – 0x277F
Это может быть связано? https://bugs.openjdk.java.net/browse/JDK-8037962 – Wheezil