尝试安装jpl库时出错.jpl.dll:找不到依赖库

use*_*282 5 java eclipse dll prolog swi-prolog

我在安装jpl库时遇到问题.我安装了最新的swipl版本(但之前我也尝试过不稳定的版本):

SWI-Prolog 7.2.3 for Windows 7/8/10 64-bit edition
Run Code Online (Sandbox Code Playgroud)

然后我添加了依赖路径到环境变量:

Variable: SWI_HOME_DIR 
Value: C:\Program Files\swipl
Run Code Online (Sandbox Code Playgroud)

然后我补充说,Path这些值:

%SWI_HOME_DIR%\lib\jpl.jar;
%SWI_HOME_DIR%\lib;
%SWI_HOME_DIR%\bin
Run Code Online (Sandbox Code Playgroud)

我还添加了这样的VM参数:

-Djava.library.path="C:\Program Files\swipl\bin"
Run Code Online (Sandbox Code Playgroud)

确保Eclipse看到此文件夹.

之后我仍然得到错误:

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)
Run Code Online (Sandbox Code Playgroud)

我100%肯定,Eclipse会看到该jpl.dll文件,但在我看来,它似乎需要一些其他库.

我知道这个帖子可能与以下任何一个都重复:

jpl.dll:找不到依赖库
JPL找不到jpl.dll的依赖库

但这些问题没有得到解答,或者答案在我的案例中没有帮助.

Ant*_*lov 0

我添加了环境变量的依赖路径:变量:SWI_HOME_DIR

价值:C:\Program Files\swipl

然后我添加了Path这些值:

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

%SWI_HOME_DIR%\bin

这是安装说明:

将三个库文件jpl.dlljpl.jarjpl.pl)放在每个都可以找到的位置:

  • jpl.dll必须由Windows 内核找到,并且可以位于PATH 环境变量上的任何文件夹中;也许%SWI_HOME_DIR%\bin 或者你的Windows 系统文件夹

  • jpl.jar必须由与JPL一起使用的任何Java VM(和编译器)找到。一种可能性是将其放在全局CLASSPATH中。

  • jpl.pl是一个Prolog源模块,并且必须由与JPL一起使用的任何SWI-Prolog引擎找到 :我建议将其放入然后调用 该文件夹(有关详细信息,请参阅SWI-Prolog手册),以便自动加载器可以找到它。%SWI_HOME_DIR%\librarymake_library_index/1