UnsatisfiedLinkError: Собственная библиотека 'wcepeer' не найдена (Mysaifu) - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь закодировать приложение на Java, которое может быть выполнено в операционной системе Windows CE.

Для этого я использую Eclipse на своем ПК с Windows, а затем переношу файл .jar в мою «меньшую» систему, которая работает с Windows CE.Файл .jar затем выполняется с помощью Mysaifu JVM (поскольку нам нужна JVM для выполнения Java-программы в Windows CE).

Итак, я начал с простого приложения, которое запускает окно (с JFrame), и когда я пытался его выполнить, я получил сообщение об ошибке:

java.lang.UnsatisfiedLinkError: Собственная библиотека 'wcepeer' не найдена (как файл 'wcepeer') в gnu.classpath.boot.library.path и java.library.path

Я пытался проверить, является ли файл, представляющийСобственная библиотека ( wcepeer.dll ) находится в правильной папке, и я мог видеть, что файл находится там с другими файлами библиотеки, например wcesound.dll , wcesecurity.dll и т. д. Обычно эти файлы предоставляются в Program Files / Mysaifu JVM / jre / bin при установке JVM в моей системе Windows CE.

У меня также естьпопытался проверить наличие библиотеки wcepeer с помощью System.loadLibrary ():

   try {
       System.loadLibrary("wcepeer");          } catch(UnsatisfiedLinkError e) {
        System.err.println("Native code library failed to load.\n" + e);       }

Результат был:

Не удалось загрузить библиотеку собственного кода.java.lang.UnsatisfiedLinkError: Собственная библиотека «wcepeer» не найдена (как файл «wcepeer») в файлах gnu.classpath.boot.library.path и java.library.path

Однако, когда я заменил «wcepeer "с" wcesound ", например, ошибки не было.Поэтому я предполагаю, что есть проблема с файлом wcepeer.dll , но я не знаю, как ее решить.Я искал везде в сети, есть только форум об этом, но это не очень помогает.

Заранее спасибо за помощь.

С уважением,

1 Ответ

0 голосов
/ 07 июня 2018

Вы можете использовать средство обхода зависимостей (http://www.dependencywalker.com/), чтобы открыть вашу DLL (она также работает с библиотеками CE, так как они используют тот же формат, что и Windows), и посмотреть, какие зависимости у этой DLL. Возможно, что другиеТребуются библиотеки DLL (если они статически связаны через экспортную библиотеку, ваша библиотека все равно не сможет загрузиться) или если для библиотеки DLL требуются некоторые системные библиотеки DLL или API, которые не поддерживаются на вашем устройстве. Windows CE является компонентной ОС, поэтому у вас может быть другаянабор API, в зависимости от компонентов, которые вы включили в образ ОС.

...