gpt4 book ai didi

java - 如何在 Mac OS X 中将 JPL 与 SWI-Prolog 连接

转载 作者:行者123 更新时间:2023-12-01 11:57:09 26 4
gpt4 key购买 nike

您好,我的 jpl 接口(interface)有问题。我想将 JPL 与安装有 mac-ports 的 swi-prolog 和 eclipse 连接起来。我有一个 jpl.jar,并且尝试使用构建路径在 Eclipse 中导入 jar 文件,但出现此错误:“java.library.path 中没有 jpl”。所以我已将 libjpl.dylib 复制到/opt/local/lib/swipl-7.1.29/bin/中,当我执行代码时,出现此错误:“线程“main”中的异常 java.lang.UnsatisfiedLinkError:/opt/local/lib/swipl-7.1.29/bin/libjpl.dylib:dlopen(/opt/local/lib/swipl-7.1.29/bin/libjpl.dylib,1):库未加载:/Users/janw/稳定/lib/swipl/lib/x86_64-darwin13.0.0/libswipl.dylib 引用自:/opt/local/lib/swipl-7.1.29/bin/libjpl.dylib 原因:找不到图片”

最佳答案

经过一段令人烦恼的时间浪费后,我找到了该问题的解决方案。首先,完全有必要通过 macports 安装 swi-prolog,如果没有,就像我所做的那样,当你指向

Djava.library.path=/users/rivax/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin13.0.0

会出现这个异常

Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/rivax/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin13.0.0/libjpl.dylib: dlopen(/Users/rivax/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin13.0.0/libjpl.dylib, 1): Library not loaded: /Users/janw/stable/lib/swipl/lib/x86_64-darwin13.0.0/libswipl.dylib
Referenced from: /Users/rivax/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin13.0.0/libjpl.dylib
Reason: image not found
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at jpl.JPL.loadNativeLibrary(JPL.java:100)
at jpl.fli.Prolog.<clinit>(Prolog.java:85)
at jpl.Query.open(Query.java:286)
at jpl.Util.textToTerm(Util.java:162)
at jpl.Query.<init>(Query.java:198)
at consultasProlog.Consultas.consultaFicheroProlog(Consultas.java:19)
at utilidades.RellenarModelo.ejecutarArchivo(RellenarModelo.java:30)
at javaprolog.JavaProlog.main(JavaProlog.java:30)
Java Result: 1

请按照以下步骤操作。

  1. 在终端上端口安装 swi-prolog ,如果您尚未安装 macports 命令未找到,则会出现,因此请转到 https://www.macports.org/install.php并安装 macports。
  2. 导航到我的 swi prolog macports 安装路径 /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin14.0.0
  3. 复制此路径并在 java VM 中的 java.library.path 中设置为 -Djava.library.path=/opt/local/lib/swipl-6.6.6/lib/x86_64-darwin14.0.0

现在 .pl 和 jpl.jar 将能够执行并且咨询将运行。

希望它能帮助您和每个发现这个 hell 问题的人。

干杯,坦率。

关于java - 如何在 Mac OS X 中将 JPL 与 SWI-Prolog 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28368798/

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