在Mac上使用JavaCV在Eclipse中出现UnsatisfiedLinkError错误

4

我相信这是一种路径问题,但我不确定我做错了什么。我正在尝试在Eclipse中使JavaCV在我的项目中工作,以便可以对图像进行一些圆形检测,但当尝试运行其中一个示例项目时,Eclipse会抛出以下异常:

java.lang.UnsatisfiedLinkError

我尝试按照http://code.google.com/p/javacv/给出的指令进行操作。
我已将javacv.jarjna.jar添加到项目的BuildPath中。要让JavaCV工作,我需要做什么?
我尝试将jar文件添加到$CLASSPATH中,但是仍然遇到相同的错误。我已下载并安装了OpenCV,但不确定需要从该文件夹中添加哪些内容到$PATH中。感谢您的帮助。
4个回答

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来解决了这个问题,它会在“/opt/local/lib”路径下安装所有的“.dylibs”文件。 此后,我执行了以下Shell脚本(在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中提供的示例代码),并能够在Eclipse中成功运行,无需设置其他路径。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接