私はCDRipライブラリ用のラッパーを作成しようとしています。しかし、私はJNIでとても新しいです。JNIを使用してDLLメソッドを呼び出すことはできません
int version = CDRipJNI.CR_GetCDRipVersion();
DLLが正常にロードされますが、メソッドの呼び出しが失敗した:
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.test.CDRipJNI.CR_GetCDRipVersion()J
at com.test.CDRipJNI.CR_GetCDRipVersion(Native Method)
at Test.main(Test.java:5)
を、私は、このメソッドを呼び出して別のクラスでは
public class CDRipJNI {
static {
System.loadLibrary("CDRip");
}
// Get the DLL version number
static native int CR_GetCDRipVersion();
}
:私は、ネイティブメソッドが仕事を得るために問題を抱えています
このような方法がありますか?それはJNI DLLですか? – EJP
はい、メソッドが存在し、このシグネチャを持ち、エクスポートされています。私は、DLLはC++で書かれていると思います。 – altralaser
いいえ、「Java」という単語のCの署名があります:それは何ですか? 'JNIEXPORT jint JNICALL Java_com_test_CDRipJNI_CR_1GetCDRipVersion(JNIEnv *、jclass);' – EJP