【发布时间】: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