jni - खबर - फर्रुखाबाद न्यूज़ हिंदी




जावा जेएनआई त्रुटि java.lang.UnsatisfiedLinkError: (2)

इस गुप्त त्रुटि का एक अन्य कारण यह है कि जब आप गलत <jni.h> फ़ाइल आयात करते हैं उदाहरण के लिए, यदि आप एक्स 86 से संकलित कर रहे हैं, लेकिन इंगित करते includes कि हेडर के x64 स्वाद के लिए पथ includes है।

java -Djava.library.path=. TestJNI
>>>>

Exception in thread "main" java.lang.UnsatisfiedLinkError: TestJNI.calibrate([D[DII)[D
 at TestJNI.calibrate(Native Method)
 at TestJNI.main(TestJNI.java:61)

मुझे पता है कि पुस्तकालय अन्यथा भरी हुई हो रही है, त्रुटि कहती है कि कैलक्यूलेटर लाइब्रेरी का पता नहीं। उपरोक्त त्रुटि का क्या मतलब है?

संपादित करें

यह मेरा क्रियान्वयन है-

JNIEXPORT jdoubleArray JNICALL Java_TestJNI_cailbrate (JNIEnv * env, jobject jobj, jdoubleArray rtt, jdoubleArray distance ,jint activecount,jint passivecount) {
jdoubleArray jresult = (*env)->NewDoubleArray(env,3);
 .......
return jresult;
}

सही ढंग से घोषित पैरामीटर क्या हैं?


इस संदेश का अर्थ है कि जावा एक मूल पद्धति है जो जावा विधि की तरह दिखता है

double[] calibrate(double[], double[], int, int)

यदि आपने अपनी हेडर फाइलों को सही तरीके से तैयार किया है, और पुस्तकालय बनाया है, तो यह सबसे अधिक संभावना है कि आप उस विधि के कार्यान्वयन को याद नहीं कर रहे हैं।

कुछ चीजें जो मन में आती हैं:

  • क्या आपने विधि लागू करने के बाद पुस्तकालय को पुनर्निर्माण किया था?
  • क्या आपने पुस्तकालय बनाने के बाद जावा विधि का इंटरफेस बदल दिया था?