Я использовал Swig для создания оболочки Java для библиотеки, написанной на C++. Обертки генерируются в пакет, а затем jar обрабатываются. Файлы скомпилированы правильно и отлично работают с java, но я не могу вызвать его из MATLAB.
Я попытался добавить путь к банке в статический файл пути Java в MATLAB, а затем вызвать классы в файле jar, но я получаю сообщение об ошибке "Undefined variable or class.." или если я пытаюсь использовать javaObject(...) "No class * can be located on Java class path".
Я не уверен, что я делаю неправильно.
РЕДАКТИРОВАТЬ:
Чтобы протестировать вызов библиотеки C++ из MATLAB, я создал простой класс «считывателя данных», который содержит функцию, которая записывает случайно сгенерированное число vector< vector<double> > в текстовый файл, и функцию, которая его считывает.
Сгенерированные файлы swig: SimpleReader.java, DoubleVector.java, exampleJNI.java, example.java, DoubleVector2.java в пакете com.example.reader. Они скомпилированы и упакованы в example.jar (сгенерированная библиотека dll также упакована в банку).
Все это прекрасно работает, вызывая его из java, поэтому проблема должна быть специфичной для MATLAB. Кода для MATLAB не так много, так как ничего не работает. я дохожу до
javaclasspath('c:/reader/reader.jar');
obj = com.example.reader.SimpleReader;
в этот момент я получаю 'Undefined variable "com" or class "com.example.reader.SimpleReader"'