2016-02-29 11 views
7

Quando si carica la libreria nella mia cartella src principale non ci sono problemi, ma nella cartella src di test viene visualizzato l'errore. Posso ancora compilare ed eseguire tutti i test normalmente e passano.Eclipse Java OpenCV unsatisfiedLinkError nella cartella Test src solo

Entrambe le cartelle src sono nel percorso e ho ottenuto opencv come libreria. Come ho detto, tutto funziona, quindi suppongo che sia un problema con Eclipse e la visualizzazione dell'errore che non dovrebbe essere visualizzato? Quindi il problema principale è che è visivamente un dolore.

enter image description here

enter image description here

EDIT2: voglio solo dire ancora una volta che tutto funzioni, i test sono tutti in esecuzione, è semplicemente che essi pop come i problemi (e non vedo gli errori dei test perché questo unspecifiedlinkerror è prima e li oscura)

Inoltre, fa la stessa cosa su entrambi i miei computer Windows e Ubuntu.

il mio percorso è anche corretto quando stampo fuori a destra prima del System.loadLibrary come .../OpenCV-2.4.11/build/lib

Edit3: Ho provato Cibin William risposta e non metto il dll percorso ma senza alcun risultato

enter image description here

risposta

0

Beh, ho reinstallato Eclipse e che lo ha fatto ... sospiro

il bug è stato su entrambi Eclipse Luna e Marte versione 4.5.1.

Mars versione 4.5.2 funziona correttamente.

2

è possibile proprio sul progetto e fare clic su Build Path ->Configure Build Path -> quindi selezionare la scheda Libraries e selezionare OpenCV file jar e poi spendere e quindi selezionare il Native Library Location e poi fare clic su Edit e quindi sfoglia il file .dll di OpenCV qualcosa come questo C:\opencv\build\java\x64 o C:\opencv\build\java\x86 per sistema a 32 bit. Ed è quello

Oppure È possibile caricare la libreria codificando (dinamico)

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

L'ho fatto e ho aggiornato la mia domanda con una sua foto. – Benoit

+0

Sono gli unici due modi in grado di collegare la lib al progetto. Puoi provare a riavviare l'eclissi. Spero che funzioni –

0

Quando eseguo il programma OpenCV in Eclipse, UnsatisfiedLinkError occurs.I risolve l'errore esportando il percorso della libreria in Eclipse come segue

1.Fare clic sul progetto, seleect debug come-> debug Configurazioni ... appare la finestra

configurazione 2.Debug, Sele ct della scheda Ambiente in cima

3.Click il tastoNuovo sul lato destro della finestra, viene visualizzata una finestra di variabile nuovo ambiente

4.On il Nome tipo LD_LIBRARY_PATH e nel Valore digitare la cartella che contiene il file .dll (se il file .dll è presente nella cartella Lib all'interno del progetto, digitare Lib nel valore)

Si prega di provare e rispondere .....

+0

Vedere la mia terza modifica, non ha funzionato tristemente. – Benoit

+0

@Benoit, stesso errore? Sia provato, copiare il file .dll nel percorso del progetto o creare una cartella all'interno del progetto e aggiungere il file .dll, aggiungere il percorso della cartella come descritto sopra ... –