2

MatlabからJAVAにアプリケーションをデプロイしようとしています。MatlabBuilderJAとImageProcessingToolboxを使用しています。MacOSXのdeploytoolを使用して、MatlabR2012aからjarファイルを作成します。

Macでこのjarを使用してJAVAプログラムを実行すると問題ありませんが、LinuxまたはWindowsシステムで実行しようとすると、次のエラーが発生します。

未定義の関数または変数'ipplmex'。==> ipplat48のエラー==>imrotate>useIPPat205のエラー

iptsetpref('UseIPPL'、false)を使用してIPPLの使用を無効にしても、問題は解決しません。

また、Matlab R2011aを使用してLinux環境でまったく同じ作業を行いました。これは、Linuxでは機能しますが、同じエラーのあるMacOSXマシンでは機能しません。

OSを変更するときにこのIPPLについて誰かが考えているなら、それは素晴らしいことです。

ありがとう !

4

1 に答える 1

0

Builder JA で作成された Java コンポーネントは、作成する MEX ファイルや Image Processing Toolbox で提供される IPPL ライブラリなどのプラットフォーム固有のライブラリに依存しない場合にのみ、クロスプラットフォームになります。

Java コンポーネントで IPPL を利用したい場合は、Java コンポーネントを Mac で 1 回、Linux で 1 回、Windows で 1 回作成し、適切なプラットフォームで作成されたバージョンを使用する必要があると思います。

ipplmexによって呼び出される (プラットフォーム固有の) MEX ファイルでippl、IPPL が使用可能かどうかをチェックするユーティリティ関数です。現時点では確認できませんが、実際に IPPL を使用することをiptsetprefコマンドで指定したかどうかの可用性チェックになると思います。したがって、IPPL を使用するように指定するかどうかに関係なく、プラットフォーム固有の MEX ファイルが呼び出されます。

繰り返しますが、現時点ではこれを確認できませんが、コンポーネントが IPPL を使用していないことに慣れている場合は、コマンドを変更して、ipplコマンドを実行せずにゼロ (IPPL が使用できないことを示す) を返すようにしてみてくださいipplmexippl.m(変更を試みる前に、必ず既存のファイルのコピーを作成してください)。

于 2012-12-03T16:18:40.183 に答える