我一直在使用Swig爲用C++編寫的庫創建一個Java包裝器。包裝生成一個包,然後jar
'編輯。這些文件編譯正確,並且與java完美協作,但我無法從MATLAB調用它。從MATLAB調用Java
我試圖在MATLAB中的靜態Java路徑文件中添加jar的路徑,然後調用jar文件中的類,但我得到錯誤"Undefined variable or class.."
或者如果我嘗試使用javaObject(...)
"No class * can be located on Java class path"
。
我不知道我在做什麼錯。
編輯:
爲了測試調用從MATLAB一個C++庫,我創建了一個簡單的「數據讀取器」類,其中包含一個寫入隨機生成vector< vector<double> >
到文本文件和一個功能和一個函數,它讀它。
產生的大口文件是:SimpleReader.java
,DoubleVector.java
,exampleJNI.java
,example.java
,DoubleVector2.java
在包com.example.reader
。這些被編譯並打包到example.jar
(生成的庫dll也被打包到jar中)。
這一切都工作正常,從Java調用它,所以這個問題必須具體到MATLAB。 MATLAB沒有太多的代碼,因爲沒有任何東西可以工作。我得到儘可能
javaclasspath('c:/reader/reader.jar');
obj = com.example.reader.SimpleReader;
在這一點,我得到'Undefined variable "com" or class "com.example.reader.SimpleReader"'
請給您正在執行什麼MATLAB的語句更詳細的例子。 –