【问题标题】:How to connect JPL with SWI-Prolog in Mac OS X如何在 Mac OS X 中连接 JPL 和 SWI-Prolog
【发布时间】:2015-02-06 15:11:33
【问题描述】:

您好,我的 jpl 接口有问题。我想将 JPL 与安装了 mac-ports 的 swi-prolog 和 eclipse 连接起来。我有一个 jpl.jar,我试图在 eclipse 中使用构建路径导入 jar 文件,但我有这个错误:“java.library.path 中没有 jpl”。 所以我在 /opt/local/lib/swipl-7.1.29/bin/ 中复制了 libjpl.dylib,当我执行代码时出现此错误:“线程“主”中的异常 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 原因:找不到图片”

【问题讨论】:

    标签: java eclipse macos prolog swi-prolog


    【解决方案1】:

    在浪费时间之后,我找到了解决该问题的方法。 首先,它完全有必要通过 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. port install swi-prolog on terminal ,如果你还没有安装 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 将能够执行,并且咨询将运行。

    希望它能帮助你和每个发现这个地狱问题的人。

    干杯坦率。

    【讨论】:

    • 我也遇到了同样的问题,但我不明白为什么它不通过 macport 或 homebrew 安装时不起作用?因为路径还是绝对的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    相关资源
    最近更新 更多