मैं विंडोज एक्सपी पर एक एप्लेट से कॉल करने के लिए सी ++ में कुछ जेएनआई कोड लिख रहा हूं। मैं एप्लेट को सफलतापूर्वक चलाने में सक्षम हूं और जेएनआई लाइब्रेरी को लोड और कॉल किया गया है, यहां तक कि अन्य डीएलएल में कॉल फ़ंक्शन होने के बावजूद भी जा रहा है। मुझे यह पता चल गया कि मेरे सभी डीएलएल निर्देशिका में शामिल हैं।असंतुष्ट लिंक्स त्रुटि: निर्दिष्ट प्रक्रिया नहीं मिली
तो, समस्या यह है कि मैं एक और कॉल जोड़ता हूं जो एक नया बाहरी डीएलएल का उपयोग करता है, और अचानक लोड करते समय लाइब्रेरी, एक असंतुष्ट लिंक्स त्रुटि फेंक दी गई है। संदेश है: 'निर्दिष्ट प्रक्रिया नहीं मिली'। यह एक लापता आश्रित डीएलएल के साथ एक समस्या प्रतीत नहीं होता है, क्योंकि मैं एक निर्भर डीएलएल को हटा सकता हूं और निर्भर डीएलएल के बारे में एक अलग संदेश प्राप्त कर सकता हूं। जो मैं ऑनलाइन ढूंढने में सक्षम हूं, ऐसा प्रतीत होता है कि इस संदेश का अर्थ है कि डीएलएल से मूल जावा फ़ंक्शन कार्यान्वयन गुम है, लेकिन यह अजीब बात है कि यह इस अतिरिक्त कोड के बिना ठीक काम करता है।
क्या किसी को पता है कि इसका कारण क्या हो सकता है? UnsatisifedLinkError के लिए 'किस प्रकार की निर्दिष्ट प्रक्रिया नहीं मिली' संदेश दे सकते हैं?
मुझे यह समस्या थी। libBv2 और libC में libA खींच लिया। LibBv2 और libC दोनों पाए जा रहे थे। समस्या यह थी कि libC एक अलग संस्करण, libBv1 पर निर्भर था। libBv1 और libBv2 एक साथ काम नहीं किया। निर्भरता वॉकर ने पुस्तकालयों को दिखाया लेकिन मैंने libC की निर्भरताओं का विस्तार नहीं किया था। मैंने लाइब्रेरी लोड होने के लिए procmon (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) का उपयोग किया और जब मैंने libb के दूसरे संस्करण को लोड किया, तो मैंने देखा। – codeDr