2012-02-12 89 views
4

我確信這將會是某種PATH問題,但我不確定哪裏出錯。我試圖讓JavaCV在我的Eclipse項目工作,所以我可以做的圖像有些圓檢測,但出現以下情況例外通過Eclipse中拋出試圖運行示例項目之一時:UnsatisfiedLinkError在Mac上的Eclipse中使用JavaCV

java.lang.UnsatisfiedLinkError 

我曾嘗試請按照下面的說明進行操作:http://code.google.com/p/javacv/

我在我的項目的BuildPath中有javacv.jarjna.jar。我需要如何將正確的文件添加到正確的路徑才能使JavaCV工作?

我試着將jar文件添加到$ CLASSPATH,但得到相同的錯誤。我已經下載並安裝了OpenCV,不知道我需要將這個文件夾添加到$ PATH中。任何幫助表示讚賞。

回答

2

UnsatisfiedLink錯誤意味着一個或多個本地庫文件無法鏈接到您的程序中。這通常是由本機庫文件不在JVM的外觀造成的。

欲瞭解更多詳情,請參閱http://java.sun.com/docs/books/jni/html/start.html的第2.7節。

2

你可以把整個錯誤通過你的應用程序。有時問題可能是javacv和opencv這兩個版本的不兼容性。因此,請嘗試檢查您是否具有兼容版本。

2

當我嘗試運行我的第一個javacv應用程序時,我也會得到相同的異常。我也嘗試了各種各樣的東西,最後我發現不兼容的版本是造成這種異常的原因。 因此,您的問題可能也是如此。

1

我也面臨類似的問題,我嘗試從源代碼構建OpenCV以及使用MacPorts。 比我試圖在Eclipse中設置本地庫路徑指向OpenCV的位置,但這對我不起作用。 最後,我通過Macports安裝OpenCV解決了這個問題,它將所有.dylibs安裝在「/ opt/local/lib」路徑中。 此後我執行以下的外殼腳本(在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給出的示例代碼),並能成功地從運行它日食沒有設置任何其他路徑。