Bom dia colegas!
Estou tentando carregar uma DLL, mas não estou conseguindo.
Classe: Tenho minha classe com seus métodos native mapeando uma DLL:
public class ProcJNI {
public static native String GetHeaderToProc();
public static native boolean isHeaderFromProc(String s);
static{
System.load("C:\\WINDOWS\\system32\\ProcJNI.dll");
}
public static void main(String... args){
System.out.println("Result: ");
GetHeaderToByYouProc();
}
}
Quando compilo ele no Eclipse, é gerada a exception:
Exception in thread "main" java.lang.UnsatisfiedLinkError: ProcJNI.GetHeaderToProc()Ljava/lang/String;
at ProcJNI.GetHeaderToProc(Native Method)
at ProcJNI.main(ProcJNI.java:15)
.
Procurei na documentação por essa e exception e encontrei isso: "Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native." Após ler o conteúdo acima fui compilar pelo console, sendo assim classe é compilada mas não executada, fui utilizar o comando javah e a mensagem abaixo foi exibida:
C:\workspace\Teste\LSTeste\src>javah ProcJNI
error: cannot access ProcJNI
class file for ProcJNI not found
javadoc: error - Class ProcJNI not found.
Error: No classes were specified on the command line. Try -help.
Alguém pode me dar um dica?
Comecei a mecher com JNI ontem, por isso surgem essas dúvidas malucas.