Почему не могу получить доступ к методам dll библиотеки?

321
26 января 2017, 01:47

Добрый день, работаю с JNA подключился через интерфейс к .dll библиотеке но при вызове из неё метода пишет

Exception in thread "main" java.lang.UnsatisfiedLinkError: Error looking up function 'сonnect': Не найдена указанная процедура.

но он там есть вот пример из описания типов этой библиотеки

interface ClientW  : public IDispatch
   {
        public:
      virtual HRESULT STDMETHODCALLTYPE Connect(long Flags/*[in]*/, BSTR Username/*[in]*/, 
                                        BSTR Password/*[in]*/, long* ResultValue/*[out,retval]*/) = 0; // [201]
}

Вот мой рабочий код

 public static void main(String[] args) throws InterruptedException, IOException {
ClientW ClientW = (ClientW) Native.loadLibrary("spn", ClientW.class);
   System.out.println("connect = " +ClientW.connect(0,null,null));
 }

public interface ClientW extends Library {
int connect(int flags,
            java.lang.String username,
            java.lang.String password);
      }

Что ему не нравится?

Answer 1

Это означает, что Java не может загрузить библиотеку. Это может быть из-за того, что:

  • Библиотека отсутствует в путях поиска
  • Библиотека неправильно названа
  • У вас не хватает прав для доступа к этой библиотеке
  • Библиотека 32х битная на 64х битной системе
  • JRE не настроен
  • Библиотека требует другую, которой у вас нет
  • DLL не собран как JNI или используется как JNA
READ ALSO
Настроить цикличный запуск

Настроить цикличный запуск

Доброго времени сутокЕсть код:

291
Удалить линию Line2D двойным кликом мышки (Java | JFrame)

Удалить линию Line2D двойным кликом мышки (Java | JFrame)

Добрый день! Хочу удалить нарисованную линию двойным кликом мышкиПри навведении на линию, курсор не меняется на крест

375
Отправка фото/картинок в чате

Отправка фото/картинок в чате

Всем доброго дня! Нужно реализовать функцию отправки фото в чате посредством wifi direct, пытаюсь сделать это на протяжении нескольких недель,...

300