1

SI には、MATLAB ビルダー JA を使用して .jar に正常にコンパイルされた MATLAB スクリプトがいくつかあります。この jar をテスト プロジェクトにインポートしたところ正常に動作しましたが、その .jar ファイルを別のプロジェクトにインポートしようとすると、次のエラーが発生します。

{Warning: Wrong JPEG library version: library is 80, caller expects 62} 
{??? Error using ==> jpeg_depth
Wrong JPEG library version: library is 80, caller expects 62

Error in ==> readjpg at 13



Error in ==> imread at 443

エラーを起動するプロジェクトは swing と awt を使用しますが、.jar が動作するテスト プロジェクトは使用しません。それで、これは関連しているでしょうか?つまり、awt を使用すると libjpeg 80 が起動し、.jar が libjpeg60 バージョンでコンパイルされているようです。それで、私の質問は次のとおりです: - コンパイル時に MATLAB に強制的に libjpeg80 を使用させる方法はありますか? - ない場合はどうすればいいですか?

前もって感謝します。

PS: このエラーは、コードに Swing Imagicon または BufferedImage がある場合に発生し、この種のコード (画像操作) がない場合には発生しないため、libjpeg を使用するすべての機能に関連しているようです。したがって、.jar は libjpeg.so.62 ヘッダーに対してコンパイルされ、libjpeg.so.8 に対して再度コンパイルする必要があります。libjpeg.so.62 を削除して再コンパイルしようとしましたが、うまくいきませんでした。何か助けはありますか?

4

1 に答える 1

1

解決済み:間違ったJREを使用していました。デフォルトのプロジェクトとして、私は自分のプロジェクトでシステムJREを使用していましたが、MATLABに付属しているものに変更した後、問題は解消されました。これが誰かを助けることを願っています。

于 2012-11-30T12:03:15.460 に答える