2012-02-12 83 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给出的示例代码),并能成功地从运行它日食没有设置任何其他路径。