2016-02-29 90 views
7

在我的主src文件夹中加载库时没有问题,但在测试src文件夹中出现错误。我仍然可以正常编译和运行所有测试,并通过测试。在测试src文件夹中的Eclipse Java OpenCV unsatisfiedLinkError只有

这两个src文件夹都在路径中,我得到了opencv作为库。就像我说的,一切正常,所以我猜这是Eclipse的问题,显示不应该显示的错误?所以主要的问题是它在视觉上是一种痛苦。

enter image description here

enter image description here

EDIT2:我只是想再次说,一切正常,测试均运行,这仅仅是他们弹出的问题(我没有看到错误的测试,因为这未指定的链接错误之前,并掩盖它们)

此外,它在我的Windows和Ubuntu机器上都做同样的事情。

我的道路也是正确的,当我的System.loadLibrary如.../OpenCV的-2.4.11 /编译/ lib目录

EDIT3前右打印出来:我想Cibin威廉的回答,把我的.DLL路径,但无济于事

enter image description here

回答

0

好吧,我重新安装Eclipse和该做的... 叹息

的错误是两个Eclipse的月神和火星版本4.5.1。

Mars版本4.5.2工作正常。

2

您可以直接在该项目,并单击Build Path - >Configure Build Path - >然后选择Libraries选项卡,选择OpenCV jar文件,然后花费它,然后在Native Library Location然后选择点击Edit然后浏览到.dll文件OpenCV这样的东西C:\opencv\build\java\x64C:\opencv\build\java\x86为32位系统。就是这样。

或者您可以通过编码(动态)加载库

public static void loadOpenCV_Lib() throws Exception { 
    // get the model 
    String model = System.getProperty("sun.arch.data.model"); 
    // the path the .dll lib location 
    String libraryPath = "C:/opencv/build/java/x86/"; 
    // check if system is 64 or 32 
    if(model.equals("64")) { 
     libraryPath = "C:/opencv/build/java/x64/"; 
    } 
    // set the path 
    System.setProperty("java.library.path", libraryPath); 
    Field sysPath = ClassLoader.class.getDeclaredField("sys_paths"); 
    sysPath.setAccessible(true); 
    sysPath.set(null, null); 
    // load the lib 
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 
} 
+0

我已经这样做了,并用它的照片更新了我的问题。 – Benoit

+0

这是将lib链接到项目的唯一两种方式。你可以尝试重新启动日食。希望它有效 –

0

当我在Eclipse中运行的OpenCV程序,unsatisfiedLInkError occurs.I在Eclipse中导出库路径解决错误如下

1.右键单击该项目,seleect 调试AS->调试配置...出现

2.Debug配置窗口中,塞莱CT在顶部

3.Click的环境标签上的窗口的右侧的按钮,A 新的环境变量窗口出现

4.On的名称类型LD_LIBRARY_PATH键入包含.dll文件的文件夹(如果.dll存在于项目中的Lib文件夹中,请在值中键入Lib

请尝试回复.....

+0

看到我的第3次编辑,它并没有悲伤地工作。 – Benoit

+0

@Benoit,同样的错误?您是否尝试过,将.dll复制到项目路径或在项目中创建一个文件夹并添加.dll,添加该文件夹路径,如上所述... –

相关问题