Итак, я пытаюсь выполнить базовую загрузку.
System.out.println(System.getProperty("java.library.path"));
System.load("/Users/Aaroneiros/Desktop/morfeusz2plugin/libmorfeusz2.dylib");
System.load("/Users/Aaroneiros/Desktop/morfeusz2plugin/libjmorfeusz.jnilib");
если вторая загрузка закомментирована, то она завершается успешно. Однако, если это не закомментировано, я получаю исключение UnsatisfiedLinkError
, что libmorfeusz2.dylib
не загружается.
Я также пытался использовать System.loadLibrary
с именами lib "libmorfeusz2" и "libmorfeusz2.dylib".
Мой java.library.path довольно стандартный /Users/.../Library/Java/Extendsions: / Network / Library / Java / Extensions: / usr / lib / java и т. Д.
Я положил libmorfeusz2.dylib
и libjmorfeusz.jnilib
в .../Library/Java/Extension
s и /usr/lib/java/
. Они также находятся в той же директории, что и скрипт, который я запускаю. Так что, насколько я понимаю, это должно работать. Есть идеи, что я делаю не так? Или что может быть не так?
Edit.
Это работает, если я добавляю их вручную в проект идеи IntelliJ, но вкратце, я делаю плагин эластичного поиска, и я вроде как не могу добавить это вручную.
Редактировать 2.
Использование otool как предложено @Siguza:
otool -l /Users/Aaroneiros/Desktop/morfeusz2plugin/libmorfeusz2.dylib | fgrep -A5 LC_ID_DYLIB
cmd LC_ID_DYLIB
cmdsize 64
name @executable_path/libmorfeusz2.dylib (offset 24)
time stamp 1 Thu Jan 1 01:00:01 1970
current version 0.0.0
compatibility version 0.0.0
и
otool -l /Users/Aaroneiros/Desktop/morfeusz2plugin/libjmorfeusz.jnilib | fgrep -A5 LC_LOAD_DYLIB
cmd LC_LOAD_DYLIB
cmdsize 48
name libmorfeusz2.dylib (offset 24)
time stamp 2 Thu Jan 1 01:00:02 1970
current version 0.0.0
compatibility version 0.0.0
--
cmd LC_LOAD_DYLIB
cmdsize 56
name /usr/lib/libstdc++.6.dylib (offset 24)
time stamp 2 Thu Jan 1 01:00:02 1970
current version 7.5.0
compatibility version 7.0.0
--
cmd LC_LOAD_DYLIB
cmdsize 56
name /usr/lib/libgcc_s.1.dylib (offset 24)
time stamp 2 Thu Jan 1 01:00:02 1970
current version 1.0.0
compatibility version 1.0.0
--
cmd LC_LOAD_DYLIB
cmdsize 56
name /usr/lib/libSystem.B.dylib (offset 24)
time stamp 2 Thu Jan 1 01:00:02 1970
current version 111.1.4
compatibility version 1.0.0