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

时间:2017-01-10 19:46:41

标签: java eclipse dll prolog swi-prolog

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

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

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

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

然后我添加了Path这些值:

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

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

-Djava.library.path="C:\Program Files\swipl\bin"

确保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)

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

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

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

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

1 个答案:

答案 0 :(得分: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内核找到,并且可以进入任何 路径 环境变量上的文件夹; 也许%SWI_HOME_DIR%\bin Windows系统文件夹

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

  • jpl.pl是一个 Prolog 源模块,任何人都必须找到 与 JPL 一起使用的 SWI-Prolog 引擎: 我建议把它放在%SWI_HOME_DIR%\library然后调用 该文件夹上的make_library_index/1(请参阅 SWI-Prolog 手册 有关详细信息,以便自动装带器可以找到它。