У меня есть библиотека .so
, скомпилированная для Linux в формате ELF, которая используется программой Java. Я пытаюсь перенести это приложение в Mac OS X и обнаружил, что OS X использует другое расширение для этих файлов, .jnilib
. Я уже понял, как настроить PATH
так, чтобы он правильно находил файлы. Однако OS X Java не может загружать файлы .so
(потому что он ожидает другое расширение).Преобразование файла .so в файл .jnilib
Если я изменяю расширение файла с .so
на .jnilib
, JVM может находить файлы, но не может их прочитать (поскольку они были скомпилированы неправильно).
Есть ли способ, либо в системе Linux или Mac OS X, без исходного кода, чтобы преобразовать эти файлы в .so
.jnilib
? Я подозреваю, что это невозможно, но Stack Overflow еще не подвела меня - и я не буду считать «это невозможно» как сбой.
Вот чего я боялся. В ответ на ваш первый вопрос, да, это то, что я хотел бы сделать, и, к сожалению, я не могу получить версию Mac для родной библиотеки - компания, которая делает ее, не имеет доступной версии Mac. –