Bom dia, estou com um problema com a biblioteca JNA, ja revierei o google tentei de todas as formas mais nao consegui resolver, criei uma dll simples para testes
DLL:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace rizDLL
{
public class usedll
{
public long Add(long val1, long val2, long val3)
{
return val1 + val2 + val3;
}
}
}
joguei essa dll na pastas
C:\Windows\System32\rizDLL.dll
C:\Windows\SysWOW64\rizDLL.dll
C:\Program Files\Java\jdk1.8.0_91\bin\rizDLL.dll
C:\Program Files\Java\jdk1.8.0_91\jre\bin\rizDLL.dll
e na aplicação java importei a biblioteca JNA
e minha classe ficou assim
package nfiscal;
import com.sun.jna.win32.StdCallLibrary;
import com.sun.jna.Native;
import javax.swing.JOptionPane;
public class Principal {
public interface usedll extends StdCallLibrary {
public long Add(long val1, long val2, long val3);
}
public static void main(String[] args) {
usedll INSTANCE = (usedll) Native.loadLibrary("rizDLL", usedll.class);
INSTANCE.Add(20, 5, 10);
JOptionPane.showMessageDialog(null, INSTANCE.Add(20, 5, 10));
}
}
ao executar aparece o erro abaixo.
Exception in thread “main” java.lang.UnsatisfiedLinkError: Error looking up function ‘Add’: Não foi possível encontrar o procedimento especificado.
at com.sun.jna.Function.<init>(Function.java:134)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:336)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:316)
at com.sun.jna.Library$Handler.invoke(Library.java:203)
at com.sun.proxy.$Proxy0.Add(Unknown Source)
at nfiscal.Principal.main(Principal.java:16)
C:\Users\Bruno\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)