java - "Unable to load library: JNA native support not found in resource path" on trying to load JNA library on Mac OS X -
मेरे पास इस तरह एक जेएनए पुस्तकालय स्टब है:
सार्वजनिक इंटरफ़ेस FREngine लाइब्रेरी का विस्तार करती है {निवासी लाइब्रेरी JNA_NATIVE_LIB = नेटिव लाइब्रेरी.जस्टिनेंस ("फ्रेगिन"); FRENGINE INSTANCE = (FREngine) Native.loadLibrary ("FREngine", FREngine.class); } अगर मैं किसी भी तरह से इस पुस्तकालय का उपयोग करने की कोशिश करता हूं, तो मुझे वाकई भ्रामक त्रुटि मिलती है:
java.lang.UnsatisfiedLinkError: पुस्तकालय लोड करने में असमर्थ 'FREngine': जेएनए नेटिव सपोर्ट (डार्विन / लिबफ्रेगिन। जेनिबिल) संसाधन पथ में नहीं मिला (... यहां पूरे वर्ग की जगह ...) यह मुझे क्यों भ्रामक है:
- .jnilib जेएनआई पुस्तकालयों के लिए फ़ाइल एक्सटेंशन है। जब से मैं जेएनए का उपयोग कर रहा हूं, तो मुझे उम्मीद नहीं होगी कि जेएनआई अपने खुद के अलावा किसी अन्य जेएनआई लाइब्रेरी का उपयोग कर सकें। "Jnidispatch"।
- इस फाइल के लिए जेएनए कक्षा की तरफ देख रहा है, Em> नरक में कोई रास्ता नहीं यह वहां होगा क्योंकि यह सिर्फ कुछ यादृच्छिक पुस्तकालय है जो मैं आयात करने की कोशिश कर रहा हूं। इसे
DYLD_FRAMEWORK_PATH पर नहीं दिखना चाहिए? - अन्य मूल लाइब्रेरी जो ठीक उसी प्रकार से शुरू किए जाते हैं, ठीक उसी प्रकार काम ठीक। उदाहरण के लिए, कोर फॉरवर्डेशन का समाधान किया जा सकता है। लाइब्रेरी को लोड करने के लिए इसका कोड पुस्तकालय के नाम से अलग है।
मैंने खुद को चौखटे को देखने की कोशिश की और केवल मामूली अंतर देख सकते हैं:
-
FREngine.framework में / लाइब्रेरी , CoreFoundation.framework में है / System / Library < / Li> -
FREngine.framework / संस्करण में CoreFoundation.framework से अधिक लंबी और अधिक जटिल नाम वाली निर्देशिका है, जिसमें केवल एक संस्करण है जिसे A । -
FREngine.framework / संस्करण / [देखें] इसमें हैडर और पुस्तकालय उपयोग में JNA का संस्करण 3.5.2 है। हम 4.x में अपग्रेड नहीं कर सकते हैं क्योंकि कुछ अन्य बग है जो एक अपवाद का कारण बनता है जैसे ही हम अपनी देशी लाइब्रेरी को लोड करने का प्रयास करते हैं।
FREngine लायब्रेरी इस मामले में गलत इंजन लोड विधि में काम नहीं करता है। FREngine को कॉम। बॉबी.फ्रेंइन के माध्यम से लोड होने की उम्मीद है।
Comments
Post a Comment