我一直在使用Swig为用C++编写的库创建Java包装器.包装器生成一个包然后jar'ed.文件正确编译并与java完美配合,但我无法从MATLAB中调用它.
我尝试在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;
Run Code Online (Sandbox Code Playgroud)
我得到了什么 'Undefined variable "com" or class "com.example.reader.SimpleReader"'