1

Matlab 内で Java protobuf スタブを使用しようとしています。Java スタブと対応する jar ファイルを Eclipse で生成しました。次に、jar ファイルを取得して、Matlab パスに追加します。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 jar を正常に使用できました。したがって、これは私のスタブが正しいことを検証します。また、Matlab プロジェクトで別の Java ライブラリ zmq.jar を正常にインポートして使用したので、jar ファイルを Matlab に適切にインポートする方法を知っていることがある程度証明されました。

生成された Java スタブ ファイルは非常に長いため、添付を控えています。私が提供したコードだけで私が間違っていることを誰かが指摘できることを願っています。必要に応じて、スタブ ソースを追加します。

前もって感謝します!

4

1 に答える 1

1

生成されたプロトコル バッファー メッセージ クラスは内部クラスであるため、Matlab の javaMethod コマンドを使用して静的メソッドにアクセスする必要があります。import ステートメントは機能しません。あなたの例を使用して:

image = javaMethod('newBuilder','raven.aos.Messages$Image');

http://www.mathworks.com/help/techdoc/ref/javamethod.html

于 2012-08-31T06:05:49.420 に答える