4

これはある種のPATHの問題になると確信していますが、どこが間違っているのかわかりません。EclipseのプロジェクトでJavaCVを機能させようとしているので、画像で円を検出できますが、サンプルプロジェクトの1つを実行しようとすると、Eclipseによって次の例外がスローされます。

java.lang.UnsatisfiedLinkError

私はhttp://code.google.com/p/javacv/で与えられた指示に従おうとしました

プロジェクトのBuildPathにとがありますjavacv.jarjna.jarJavaCVを機能させるには、正しいファイルを正しいパスに追加するために何をする必要がありますか?

jarファイルを$CLASSPATHに追加しようとしましたが、同じエラーが発生します。OpenCVをダウンロードしてインストールしましたが、このフォルダーから$PATHに何を追加する必要があるのか​​わかりません。どんな助けでも大歓迎です。

4

4 に答える 4

2

UnsatisfiedLinkエラーは、1つ以上のネイティブライブラリファイルをプログラムにリンクできなかったことを意味します。これは、ほとんどの場合、JVMが表示される場所にネイティブライブラリファイルがないことが原因です。

詳細については、 http://java.sun.com/docs/books/jni/html/start.htmlのセクション2.7を参照してください。

于 2012-02-12T16:36:27.160 に答える
2

あなたはあなたのアプリケーションにその全体のエラーを入れることができますか?時々問題はjavacvとopencvの2つのバージョンの非互換性であるかもしれません。したがって、それらに互換性のあるバージョンがあるかどうかを確認してみてください。

于 2012-06-19T02:43:43.573 に答える
2

最初のjavacvアプリケーションを実行しようとすると、同じ例外が発生します。また、さまざまなことを試しましたが、最後に、互換性のないバージョンがこの例外の原因であることがわかりました。ですから、あなたの問題にも当てはまるかもしれません。

于 2012-06-19T02:55:56.297 に答える
1

私も同様の問題に直面していました。MacPortsを使用するだけでなく、ソースからOpenCVを構築してみました。OpenCVが構築された場所を指すようにEclipseでネイティブライブラリパスを設定しようとしましたが、これは私には機能しません。最後に、「/ opt / local/lib」パスにすべての.dylibsをインストールするMacports経由でOpenCVをインストールすることで問題を解決しました。その後、次のシェルスクリプトを実行しました(http://code.google.com/p/javacv/wiki/HowToMakeAnAppletで提供)

BADPATH=/opt/local/lib 
for f in libopencv*2.4.dylib; do install_name_tool $f -id @rpath/$f \
-add_rpath /usr/local/lib/ -add_rpath /opt/local/lib/ -add_rpath @loader_path/. \
-change $BADPATH/libopencv_core.2.4.dylib @rpath/libopencv_core.2.4.dylib \
-change $BADPATH/libopencv_calib3d.2.4.dylib @rpath/libopencv_calib3d.2.4.dylib \
-change $BADPATH/libopencv_features2d.2.4.dylib @rpath/libopencv_features2d.2.4.dylib \
-change $BADPATH/libopencv_flann.2.4.dylib @rpath/libopencv_flann.2.4.dylib \
-change $BADPATH/libopencv_gpu.2.4.dylib @rpath/libopencv_gpu.2.4.dylib \
-change $BADPATH/libopencv_highgui.2.4.dylib @rpath/libopencv_highgui.2.4.dylib \
-change $BADPATH/libopencv_imgproc.2.4.dylib @rpath/libopencv_imgproc.2.4.dylib \
-change $BADPATH/libopencv_legacy.2.4.dylib @rpath/libopencv_legacy.2.4.dylib \
-change $BADPATH/libopencv_ml.2.4.dylib @rpath/libopencv_ml.2.4.dylib \
-change $BADPATH/libopencv_nonfree.2.4.dylib @rpath/libopencv_nonfree.2.4.dylib \
-change $BADPATH/libopencv_objdetect.2.4.dylib @rpath/libopencv_objdetect.2.4.dylib \
-change $BADPATH/libopencv_photo.2.4.dylib @rpath/libopencv_photo.2.4.dylib \
-change $BADPATH/libopencv_video.2.4.dylib @rpath/libopencv_video.2.4.dylib; done

上記のスクリプトを実行した後、サンプルのJavaCVプロジェクトを作成し(http://www.cnblogs.com/ljsspace/archive/2011/08/05/2128948.htmlにあるサンプルコードを使用)、実行することができました。他のパスを設定せずに日食から正常に。

于 2013-02-11T18:37:14.300 に答える