У меня есть файл xxx.dll вместе с парой других dll в этом месте -
'C:\Program Files (x86)\abc\xyz\Librerias'
пытаюсь загрузить этот файл DLL в свой проект, используя
System.loadLibrary("xxx");
добавил этот путь в «Расположение собственной библиотеки» в системной библиотеке JRE в разделе «Настроить путь сборки», но по-прежнему строка, пытающаяся загрузить эту dll, выдает ошибку «UnsatisfiedLinkError».
Я даже пробовал, но все равно остается та же ошибка.
System.load("C:/Program Files (x86)/abc/xyz/Librerias/xxx.dll");
У меня есть последняя версия 32-битной JRE и JDK, добавленная в мой системный путь, и я использую 64-битную машину.
Нет. Я пробовал это, все та же проблема.
Не могли бы вы проверить, существует ли библиотека xxx.dll по указанному пути? Может быть, есть проблема с разрешением, потому что она находится в пути C:\Program Files? Попробуйте скопировать указанную библиотеку по другому пути, укажите абсолютный путь и повторите попытку. Также обратите внимание, что если библиотека уже загружена вашим приложением и приложение пытается загрузить ее снова, UnsatisfiedLinkError будет брошен JVM.
да. Библиотека существует. Это первая dll, которую пытаются загрузить в приложение, поэтому во втором случае нет никаких шансов. Я попытался скопировать их снаружи и указать абсолютный путь, но не повезло. Ответ, который я предоставил, решил проблему. Любые мысли о том, почему такое изменение сработало?




Система не смогла перейти в этот каталог из-за несуществующих путей. Чтобы решить эту проблему, я просто сделал наоборот, добавил расположение собственной библиотеки перед PATH, и это сработало как шарм.
это помогло.
Ах! Похоже, файл не загружается, попробуйте изменить путь на что-то вроде
System.load("C:\\Program Files (x86)\\abc\\xyz\\Librerias\\xxx.dll");