2013-04-20 3 views
0

Я пытаюсь загрузить файлы DLL в Netbeans 7.0.1,загрузки DLL в Netbeans

Кодекс

dll = (RRHFEK02DLL)Native.loadLibrary("RRHFEK02DLL.dll", RRHFEK02DLL.class); 
utility = (Utilities)Native.loadLibrary("Utilities.dll",Utilities.class); 
wraper =(RRHFEK02Wrapper)Native.loadLibrary("RRHFEK02Wrapper.dll", RRHFEK02Wrapper.class); 

первая строка не содержит ошибки, то эта линия была в демо-провайдера, теперь я хочу еще два DLLs быть груз, я добавил следующие две строки, а также добавлены DLL файлы в библиотеке, но я получил ошибку

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: 
Unable to load library 'Utilities.dll': The specified module could not 
be found. 
    at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:166) 
    at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:239) 
    at com.sun.jna.Library$Handler.<init>(Library.java:140) 
    at com.sun.jna.Native.loadLibrary(Native.java:393) 
    at com.sun.jna.Native.loadLibrary(Native.java:378) 
    at rrhfek02.RRHFEK02View.<init>(RRHFEK02View.java:87) 
    at rrhfek02.RRHFEK02App.startup(RRHFEK02App.java:19) 
    at org.jdesktop.application.Application$1.run(Application.java:171) 
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 

меня пройти через те же/вопросы, связанные, но не получил решение , Итак, пожалуйста, предоставьте мне предложение, если оно есть.

ответ

0

Удалить ".dll" в Java. То есть:

dll = (RRHFEK02DLL) Native.loadLibrary("RRHFEK02DLL", RRHFEK02DLL.class); 
utility = (Utilities) Native.loadLibrary("Utilities", Utilities.class); 
wraper = (RRHFEK02Wrapper) Native.loadLibrary("RRHFEK02Wrapper", RRHFEK02Wrapper.class); 

Не изменяйте свои фактические названия DLL-файлов!

+0

Я пробовал это. Но у меня такая же ошибка. – chintan

+0

В блоге IBM они предлагают разместить расширение .dll на платформе Windows. – chintan

+0

@chintan удаляет '. .dll' 'в вашей Java, не изменяйте ваш фактический DLL-файл. – johnchen902

1

Вам необходимо вставить расширение .dll (Не требуется Mac, если расширение .framework В моей системе, с моей Netbeans структуры папок проекта:.

Lib

+ src 
+ EDSDK 
     -dll 
      -EDSDK 
     -headers 
+Other Files 

Doing:

this.EDSDK = (EdSdkLibrary) Native.loadLibrary("EDSDK/dll/EDSDK.dll", EdSdkLibrary.class

загружает его эффективно. Перед загрузкой вы можете попробовать, что возвращает new File("RRHFEK02DLL.dll").exists(). Если false, то ваш путь неправильный. Если true, то выдается что-то еще

Смежные вопросы