【问题标题】:Error trying to install jpl library. jpl.dll: Can't find dependent libraries尝试安装 jpl 库时出错。 jpl.dll:找不到依赖库
【发布时间】:2017-01-10 19:46:41
【问题描述】:

我在安装 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

但这些问题没有得到解答,或者答案对我没有帮助。

【问题讨论】:

  • 我尝试使用此问题的设置运行swipl 示例,但我无法重现该错误。当您尝试从命令行执行程序时,您是否会遇到类似的错误?如果是,您应该使用Dependency Walker 确保所有必需的 DLL 可用

标签: java eclipse dll prolog swi-prolog


【解决方案1】:

我为环境变量添加了依赖路径: 变量: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 必须被使用的任何 Java VM(和编译器)找到 JPL。一种可能是将其放在您的全局 CLASSPATH 中。

  • jpl.pl 是一个 Prolog 源模块,必须被任何人找到 SWI-Prolog 引擎与 JPL 一起使用: 我建议把它放在%SWI_HOME_DIR%\library 然后调用 make_library_index/1 在该文件夹中(参见 SWI-Prolog 手册 详情)以便自动加载器可以找到它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-19
    • 2021-02-08
    • 2021-02-19
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 2015-10-03
    相关资源
    最近更新 更多