我想用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」'? –