gpt4 book ai didi

java - JPL/SWI Prolog 配置失败

转载 作者:行者123 更新时间:2023-11-29 08:04:24 25 4
gpt4 key购买 nike

我现在正在配置 JPL,想使用 java 来处理 swi-prolog。

我下载了最新稳定版的SWI-Prolog,6.2.0,安装在D:\swipl

首先,我在 PATH virable 中添加了以下路径:D:\swipl\bin,其中应该包括所有需要的 dll 文件。

然后,我在CLASSPATH virable中添加了以下路径:D:swipl\lib\jpl.jar,这应该是需要的jar文件。

当我尝试运行提供的版本示例时,出现以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: jpl.fli.Prolog.thread_self()I
at jpl.fli.Prolog.thread_self(Native Method)
at jpl.Query.open(Query.java:286)
at jpl.Util.textToTerm(Util.java:162)
at jpl.Query.Query1(Query.java:183)
at jpl.Query.<init>(Query.java:176)
at Versions.main(Versions.java:11)

在网上搜索后,我发现很多人只是得到 java.lang.UnsatisfiedLinkError: no jpl in java.library.path 这是因为 PATH 的设置> 变量,而不是我在这里得到的错误:java.lang.UnsatisfiedLinkError: jpl.fli.Prolog.thread_self()I(是的,行尾有一个“I” ).

有没有人遇到过这个错误?我试过几个以前版本的 SWI-Prolog,但也有其他类型的错误。我正在使用 Eclipse IDE 进行 Java 开发——我错过了什么吗?

最佳答案

我已经把问题发到swi-prolog.org提供的官方邮件列表(swi-prolog@lists.iai.uni-bonn.de),幸运的是有人帮我证明在版本 6.2.0。然后我们都尝试了 6.0.2 版本,它运行良好。他提到(我注意到)6.2.0 版本的 bin 文件夹中没有 swipl.dll,这可能会导致问题。

我已经通过Email向工作人员报告了这个问题,至少现在,我建议想要配置JPL的人应该下载6.0.2版本。记住三件事:

  1. 在环境变量的系统变量下新增一个变量SWI_HOME_DIR,路径设置为你安装SWI-Prolog的地方(我的是D:\swipl);

  2. 将路径 %SWI_HOME_DIR%\bin 添加到您的 PATH 变量中,而不是使用类似“D:\swipl\bin”的路径。 (否则会出现[FATAL ERROR: Could not find system resources])

  3. 将路径 %SWI_HOME_DIR%\lib\jpl.jar 添加到您的 PATH 变量中,而不是使用类似“D:\swipl\lib\jpl.jar”的路径。 (否则会出现[FATAL ERROR: Could not find system resources])

如果您使用 Eclipse 进行 Java 开发,您似乎不需要在 IDE 中进行配置。只要按照上述 3 个步骤将正确的 jar 文件添加为外部库就可以了。

我不确定这个临时解决方案是否适用于所有人,但肯定的是,遇到问题的每个人都应该首先尝试此方法。只要解决了6.2.0版本的问题,我会在这里补充一些意见。

顺便说一句,据我所知,到目前为止,遇到此问题的人都在使用 32 位 Windows。

关于java - JPL/SWI Prolog 配置失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12283471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com