2015-02-06 75 views
0

嗨,我有一个jpl接口的问题。我想连接JPL和swi-prolog,安装了eclipse的mac-ports。我有一个jpl.jar和我已经尝试导入与构建路径在eclipse中的jar文件,但我有这个错误:“在java.library.path中没有jpl”。 所以我复制libjpl.dylib在/opt/local/lib/swipl-7.1.29/bin/和当我执行代码时,我有这个错误:“线程中的异常”主“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 /stable/lib/swipl/lib/x86_64-darwin13.0.0/libswipl.dylib 从引用:/opt/local/lib/swipl-7.1.29/bin/libjpl.dylib 原因:图片未找到”如何在Mac OS X中连接JPL和SWI-Prolog

回答

1

经过厌烦浪费时间,我找到了解决这个问题的方法。所有的 首先,它完全necesary通过MacPorts的,安装SWI-序言如果没有,像我一样,当你在

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

点这个异常将apear

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命令没有找到将apear如此去https://www.macports.org/install.php并安装macports。
  2. 导航到SWI序言的MacPorts安装的路径,其矿 /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin14.0.0
  3. 复制这条道路和的java.library.path在Java虚拟机设置为-Djava.library.path=/opt/local/lib/swipl-6.6.6/lib/x86_64-darwin14.0.0

现在特等与jpl.jar将能够执行并且咨询将会运行。

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

干杯坦率。