Intentando usar DLL desde Java (JNA). No se puede cargar la excepción de la biblioteca

Tengo un proyecto de NetBeans del tutorial que causa una excepción:

Excepción en el hilo “principal” java.lang.UnsatisfiedLinkError: Unable to load library ‘simpleDLL’: no ​​se pudo encontrar el módulo especificado.

Traté de poner simpleDLL.dll en bibliotecas de proyectos, archivo copiado en la carpeta system32 sin éxito.

Tenía exactamente el mismo problema al cargar un archivo DLL, lo resolví de esta manera:

  • Como dijo Christian Kuetbach, compruebe si la DLL simple que está utilizando es compatible con la architecture de su procesador, una DLL de 32 bits no funcionará en una máquina de 64 bits, y una DLL de 64 bits no funcionará en un 32- máquina de bit
  • Si el archivo DLL es compatible, entonces el problema puede estar en la ruta de acceso de su biblioteca java. Puse mi DLL en el directorio user.dir y luego usé este código:

    Establezca la ruta de la biblioteca de Java en user.dir o tal vez otra ruta que desee:

     String myLibraryPath = System.getProperty("user.dir");//or another absolute or relative path System.setProperty("java.library.path", myLibraryPath); 

    Cargue la biblioteca:

    System.loadLibrary (“libraryWithoutDLLExtension”);

Me funcionó, pruébalo y dime si funciona para ti.

Por favor, compruebe si el simpleDLL es de 32 o 64 bits. Luego, compruebe si la JVM también tiene 32 o 64 bits. Deben ser para la misma plataforma.

También puede especificar una ruta absoluta, si cambia loadLibrary() a load() : http://www.chilkatsoft.com/p/p_499.asp

Solo pude correr en 32 bits (Xp).

Coloque el archivo DLL en la carpeta “c: \ Windows \ System32”

helloWorldDLL lib = (helloWorldDLL) Native.loadLibrary (“helloworldDLL”, helloWorldDLL.class);

Si el error java.lang.UnsatisfiedLinkError: Imposible cargar la biblioteca “persiste, use Dependency Walker para ver las DLL dependientes.

Dependency Walker