我想用JNI
与C++
,但它不是正确的我已经证明从java
调用c++
方法的所有步骤是合理的。但我得到以下错误(Java代码和下面的C++代码中给出)JNI(Java和C++)的错误
的Java代码是在这里
public class KeyLogger {
public native void capture();
static{
System.loadLibrary("KeyLogger");
}
public static void main(String[]args){
KeyLogger obj = new KeyLogger();
obj.capture();
}
}
C++代码在这里
**// All libraries included Fucntion goes here.**
JNIEXPORT void JNICALL Java_KeyLogger_capture
(JNIEnv *env, jobject obj){
cout<<"Working Fine"<<endl;
}
void main(){}
错误
Exception in thread "main" java.lang.UnsatisfiedLinkError: KeyLogger.capture()V
at KeyLogger.capture(Native Method)
at KeyLogger.main(KeyLogger.java:10)
我应该为此做些什么来得到解决
是您公开的捕获方法吗? –
你有没有共享库在你的'-Djava.library.path'上? –
你的课程'KeyLogger'是否在一个包中?你的C++方法声明为'extern“C”'? –