Я пытаюсь использовать Java protobuf stub внутри Matlab. Я создал заглушку Java и соответствующий файл jar в Eclipse. Затем я беру файл jar и добавляю его в путь Matlab. В Matlab я сделать следующее:Использование буфера протокола Java привязки в Matlab
import raven.aos.*;
import raven.aos.Messages.*;
image = Image.newBuilder();
На данный момент я получаю сообщение об ошибке, говорящее:
??? Undefined variable "Image" or class "Image.newBuilder".
Error in ==> pub>pub.pub at 16
image = Image.newBuilder();
Я успешно был в состоянии использовать банку Java в проекте Java с использованием точно такой же синтаксис. Таким образом, это подтверждает, что мой заглушка верен. Я также успешно импортировал и использовал другую библиотеку Java zmq.jar в моем проекте Matlab, поэтому в определенной степени это подтверждает, что я знаю, как правильно импортировать файлы jar в Matlab.
Я воздержался от прикрепления сгенерированного файла-заглушки Java, так как он очень длинный. Я надеюсь, что кто-то может указать, что я делаю неправильно, только с кодом, который я предоставил. Если потребуется, я добавлю источник заглушки.
Заранее благодарен!
делает 'inmem' показать класс' Image' загружается? – Torious
Так сразу после импорта я запустил disp (inmem), и я получил следующее: 'workspacefunc' 'pub'. Паб - это имя переменной, которое я дал классу. Таким образом, это не загрузка, что имеет смысл, учитывая исходное сообщение об ошибке. Моя проблема в том, что я не знаю, почему она не загружает его. –
См. [Эту ссылку] (http://www.mathworks.nl/help/techdoc/matlab_external/f4863.html), раздел ** Создание классов в доступном файле JAR **; похоже, что вы должны указать полное имя файла банку. – Torious