java.lang.UnsatisfiedLinkError, мач-но, но неправильная архитектура на Mac10.6.2 - PullRequest
3 голосов
/ 17 февраля 2010

Я пытался запустить проект на моей локальной машине.

Я попытался загрузить этот файл jnilib, полученный из запущенного экземпляра этого проекта, на мой Mac 10.6.2,

System.load(lib.getAbsolutePath());

тогда я получил это исключение:

java.lang.UnsatisfiedLinkError, mach-o but wrong architecture

Я должен проверить jnilib с помощью команды file:

libScreenMatchProxy.jnilib: Mach-O dynamically linked shared library i386

Полагаю, это потому, что файл jnilib скомпилирован в 32-битной версии, а Java поставляется с Mac10.6 - 64-битной. Поэтому я перехожу к настройке Java и вначале устанавливаю, что Java должна использовать 32 бита. Но это не сработало.

Как уже упоминалось выше, этот файл jnilib скопирован из запущенного экземпляра проекта на моем Mac, поэтому он должен работать. Я не понимаю, почему это работает в установленном приложении, но не в моем Eclipse.

1 Ответ

3 голосов
/ 18 февраля 2010

Добавление «-d32» к аргументу VM из Run Configuration заставит Eclipse вызывать Java в 32-битном режиме. Это решит эту проблему.

...