2017-01-10 50 views
5

Mam problem z instalacją biblioteki jpl. Zainstalowałem najnowszą swipl wersji (ale próbowałem również wersje niestabilne wcześniej):Błąd podczas próby zainstalowania biblioteki jpl. jpl.dll: Nie można znaleźć bibliotek zależnych

SWI-Prolog 7.2.3 for Windows 7/8/10 64-bit edition 

Potem dodałem ścieżek zależnych do zmiennych środowiskowych:

Variable: SWI_HOME_DIR 
Value: C:\Program Files\swipl 

Potem dodałem do Path tych wartości:

%SWI_HOME_DIR%\lib\jpl.jar; 
%SWI_HOME_DIR%\lib; 
%SWI_HOME_DIR%\bin 

również dodawane argumentu VM tak:

aby upewnić się, że Eclipse widzi ten folder.

Po że nadal pojawia się błąd:

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: C:\Program Files\swipl\bin\jpl.dll: Can't find dependent libraries 
    at java.lang.ClassLoader$NativeLibrary.load(Native Method) 
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937) 
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1855) 
    at java.lang.Runtime.loadLibrary0(Runtime.java:870) 
    at java.lang.System.loadLibrary(System.java:1122) 
    at org.jpl7.JPL.loadNativeLibrary(JPL.java:79) 
    at org.jpl7.fli.Prolog.<clinit>(Prolog.java:41) 
    at org.jpl7.Query.open(Query.java:260) 
    at org.jpl7.Util.textToTerm(Util.java:102) 
    at org.jpl7.Query.Query1(Query.java:129) 
    at org.jpl7.Query.<init>(Query.java:120) 

jestem 100% pewna, że ​​Eclipse widzi, że jpl.dll plik, ale moim zdaniem, wydaje się, że potrzebuje kilku innych bibliotek.

wiem, że ten wątek jest prawdopodobnie duplikat jednej z nich:

jpl.dll: Can't find dependent libraries
JPL Can't find dependent libraries of jpl.dll

ale te pytania pozostają bez odpowiedzi lub odpowiedzi nie pomaga w moim przypadku.

+0

Próbuję uruchomić próbkę 'swipl' przy użyciu ustawienia tego pytania, ale nie mogę odtworzyć błędu. Czy występuje podobny błąd podczas próby uruchomienia programu z wiersza poleceń? Jeśli tak, powinieneś upewnić się, że wszystkie wymagane biblioteki DLL są dostępne za pomocą [Dependency Walker] (http://www.dependencywalker.com) –

Odpowiedz

0

I added dependent paths to environment variables: Variable: SWI_HOME_DIR

Value: C:\Program Files\swipl

Then I added, to Path these values:

%SWI_HOME_DIR%\lib\jpl.jar;
%SWI_HOME_DIR%\lib;

%SWI_HOME_DIR%\bin

Jest to instrukcja instalacji:

umieścić trzy pliki bibliotek (jpl.dll, jpl.jar i jpl.pl), gdzie każdy może znaleźć:

  • jpl.dll musi być stwierdzone przez Jądro systemu Windows i można je znaleźć w dowolnym folderze na urządzeniu PATHZmienna środowiskowa; może %SWI_HOME_DIR%\bin lub Twój folder systemowy Okna

  • jpl.jar musi zostać znaleziony przez dowolny Java VM „s (i kompilatory) używane z JPL. Jedną z możliwości jest umieszczenie go na globalnym kodzie CLASSPATH.

  • jpl.pl jest modułem Prolog źródło i należy znaleźć jakikolwiek SWI-Prolog silników używanych z JPL: Proponuję wprowadzenie go w %SWI_HOME_DIR%\library a następnie powołuje make_library_index/1 tego folderu (patrz szczegółowy opis), aby umożliwić autoloaderowi jego odnalezienie.