Pessoal estou quebrando a cabeça faz alguns dias, eu estou precisando compilar uns códigos de C++ e utilizar usando java. Já tentei bastante e ainda não consegui resolver o erro:
Exception in thread "main" java.lang.UnsatisfiedLinkError: jni.HelloWorld.writeHelloWorldToStdout()V
at jni.HelloWorld.writeHelloWorldToStdout(Native Method)
at jni.HelloWorld.main(HelloWorld.java:10);
Irei postar o código de teste que eu estou tentando utilizar, é simplesmente o java chamar um método C++ que imprime "hello world", segue os códigos
JAVA:
public class JNI {
static{
System.loadLibrary("JNIExample_lib");
}
native void printHello();
}
public class Main {
public static void main(String[] args) {
JNI a = new JNI();
a.printHello();
}
}
C++
jni_JNI.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class jni_JNI */
#ifndef _Included_jni_JNI
#define _Included_jni_JNI
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: jni_JNI
* Method: printHello
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_jni_JNI_printHello
(JNIEnv *, jclass);
#ifdef __cplusplus
}
#endif
#endif
Bem eu compilo com o visual studio, ele gera a dll, mas no java ocorre a expetion já dita... Eu estou achando que é algum problema na compilação, acho que a compilação do visual studio não está linkando o header com o código direito. Alguém pode me ajudar?
Pergunta
jp.fernandz
Pessoal estou quebrando a cabeça faz alguns dias, eu estou precisando compilar uns códigos de C++ e utilizar usando java. Já tentei bastante e ainda não consegui resolver o erro:
Exception in thread "main" java.lang.UnsatisfiedLinkError: jni.HelloWorld.writeHelloWorldToStdout()V
at jni.HelloWorld.writeHelloWorldToStdout(Native Method)
at jni.HelloWorld.main(HelloWorld.java:10);
Irei postar o código de teste que eu estou tentando utilizar, é simplesmente o java chamar um método C++ que imprime "hello world", segue os códigos
JAVA:
C++ jni_JNI.h JNI.cppBem eu compilo com o visual studio, ele gera a dll, mas no java ocorre a expetion já dita... Eu estou achando que é algum problema na compilação, acho que a compilação do visual studio não está linkando o header com o código direito. Alguém pode me ajudar?
Desde já agradeço.
Editado por jp.fernandzLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.