2016-02-29 93 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,添加該文件夾路徑,如上所述... –

相關問題