Код: Выделить всё
public interface FREngine extends Library {
NativeLibrary JNA_NATIVE_LIB = NativeLibrary.getInstance("FREngine");
FREngine INSTANCE = (FREngine) Native.loadLibrary("FREngine", FREngine.class);
}
< /code>
Если я пытаюсь использовать эту библиотеку каким -либо образом, я получаю действительно запутанную ошибку: < /p>
java.lang.UnsatisfiedLinkError: Unable to load library 'FREngine':
JNA native support (darwin/libFREngine.jnilib) not found in resource path
(...entire classpath here...)
< /code>
Почему это сбивает с толку: < /p>
[list]
[*].jnilib - расширение файла для библиотек JNI. Поскольку я использую JNA, я бы не ожидал, что JNA будет использовать какую -либо библиотеку JNI, кроме его собственной, «Jnidispatch». Разве он не должен смотреть на dyld_framework_path
Код: Выделить всё
FREngine.framework
[*]
Код: Выделить всё
FREngine.framework/Versions
[*]
Код: Выделить всё
FREngine.framework/Versions/[ver]
[/list]
Версия JNA используется 3.5.2. Мы не можем перейти на 4.x, потому что есть другая ошибка, которая вызывает исключение, как только мы пытаемся загрузить нашу родную библиотеку.
Подробнее здесь: https://stackoverflow.com/questions/232 ... h-on-tryin