से जावा को कॉल करना मैं C++ में लिखी गई लाइब्रेरी के लिए जावा रैपर बनाने के लिए Swig का उपयोग कर रहा हूं। रैपर एक पैकेज में उत्पन्न होते हैं और फिर jar
'ed। फ़ाइलों को सही ढंग से संकलित किया गया है और जावा के साथ पूरी तरह से काम करते हैं लेकिन मैं इसे MATLAB से नहीं कह सकता।MATLAB
मैं जार फ़ाइल में MATLAB में स्थिर जावा पथ फ़ाइल में जार के लिए पथ को जोड़ने और कक्षाएं तो बुला की कोशिश की लेकिन मैं त्रुटि "Undefined variable or class.."
जाते हैं या यदि मैं javaObject(...)
"No class * can be located on Java class path"
उपयोग करके देखें।
मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं।
संपादित करें:
एक C++ MATLAB से पुस्तकालय बुला परीक्षण करने के लिए, मैं एक साधारण "डेटा पाठक" वर्ग और एक समारोह है जो एक समारोह है कि एक पाठ फ़ाइल और करने के लिए यादृच्छिक रूप से जनरेट vector< vector<double> >
लिखते शामिल बनाया कि इसे पढ़ता है
बड़ा घूँट उत्पन्न फ़ाइलों हैं: SimpleReader.java
, DoubleVector.java
, exampleJNI.java
, example.java
, पैकेज com.example.reader
में DoubleVector2.java
। इन्हें example.jar
में संकलित और पैक किया गया है (जेनरेट की गई लाइब्रेरी डीएल भी जार में पैक की जाती है)।
यह सब जावा से इसे ठीक से कॉल करने में काम करता है ताकि समस्या MATLAB के लिए विशिष्ट हो। MATLAB के लिए बहुत अधिक कोड नहीं है क्योंकि कुछ भी काम नहीं करता है। यदि आप ऐसा करने में सक्षम होना चाहिए रहे हैं मैं जहाँ तक
javaclasspath('c:/reader/reader.jar');
obj = com.example.reader.SimpleReader;
और इस बिंदु पर मैं 'Undefined variable "com" or class "com.example.reader.SimpleReader"'
क्या MATLAB बयान आप को क्रियान्वित कर रहे हैं के एक अधिक विस्तृत उदाहरण दे। –