मैं एक जावा प्रोजेक्ट पर काम कर रहा हूं जो JNI का उपयोग करता है। JNI ने एक कस्टम लाइब्रेरी को कॉल किया है जिसे मैंने खुद लिखा है, मान लीजिए mylib.dll, और यह एक 3rd पार्टी लाइब्रेरी, libsndfile-1.dll पर निर्भर करता है।
जब मैं अपना प्रोग्राम चलाता हूं तो यह क्रैश हो जाता है
java.lang.UnsatisfiedLinkError: C:\...path...\mylib.dll: Can't find dependent libraries.
मैंने इस साइट (और अन्य) को खोज लिया है और मैंने कई सुधारों की कोशिश की है:
मैंने डिपेंडेंसी वॉकर चलाया। DW ने कुछ चेतावनियाँ दीं - कि दो पुस्तकालयों के लिए आवश्यक libsndfile, MPR.DLL और SHLWAPI.DLL ने "अनसुलझे आयात" किए - लेकिन DW FAQ ने कहा कि इन चेतावनियों को सुरक्षित रूप से अनदेखा किया जा सकता है।
मैंने यहाँ सुझाए अनुसार mylib.dll में विधि के नाम तय किए हैं । विधि के नाम किसी तरह कंपाइलर द्वारा मंगवा लिए गए थे, लेकिन मैंने लिंकर झंडे जोड़े और डीएल विधि के नाम अब मेरे जनी हेडर फ़ाइल में बिल्कुल मेल खाते हैं।
मैंने इन सभी DLL को एक ही डायरेक्टरी में रखा है - एक ही डाइरेक्टरी जो .jar के रूप में है, जो उन्हें कॉल करती है - यह सुनिश्चित करने के लिए कि वे सही पेट पर हैं।
कोई पाँसा नहीं।
किसी को भी पता नहीं क्या चल रहा है?
मैं एक मैकबुक पर दृश्य स्टूडियो 2010 में अपना विकास कर रहा हूँ Pro (समानताएं के माध्यम से)। मैं एक toshiba लैपटॉप पर Windows XP में अपना परीक्षण कर रहा हूं।