我在安装 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
但这些问题没有得到解答,或者答案在我的案例中没有帮助。
答案 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.dll
,jpl.jar
和jpl.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 手册
有关详细信息,以便自动装带器可以找到它。