3

我正在用 Java 编写程序,我想连接到 Prolog。因此,我决定使用 JPL。在 Windows Vista 上使用 JPL 是完美的。后来,我不得不将操作系统平台更改为 Ubuntu 11.04。不幸的是,有一个错误:

符号查找错误:/usr/lib/swi-prolog/lib/i386/libjpl.so:未定义符号:PL_is_initialised

环境:

  1. Ubuntu 11.04
  2. Java 版本 1.6.0_24
  3. Eclipse 伽利略版本:3.5.2
  4. 适用于 i386 的 SWI-Prolog 版本 5.10.1
  5. Jpl (apt-get install swi-prolog-java)
  6. 家庭.java + 家庭.pl

我将工作步骤和问题解释如下。step1:使用 Synaptic 包管理器安装 swi-prolog + jpl Swi-prolog 安装

step2:运行Family.java,发现报错 未找到 JPL 错误

step3:在VMarguments 处配置库路径设置 VMarguments step4:再次运行,出现错误 /usr/lib/jvm/java-6-sun-1.6.0.24/bin/java: symbol lookup error: /usr/lib/swi-prolog /lib/i386/libjpl.so:未定义符号:PL_is_initialised step5 :我也配置了环境,但错误仍然相同。 设置环境参数

我从互联网上搜索的步骤3和5中用于解决问题的方法。我找不到其他解决方案来尝试。有谁有想法吗?
提前致谢。

4

2 回答 2

1

LD_LIBRARY_PATH我认为,您必须配置. 尝试添加so-library文件的位置。并确保,你的System.loadLibrary();电话是相对的。

于 2011-07-01T08:45:50.580 回答
1

非常感谢大家的支持。现在,我可以解决这个问题。我从页面http://code.google.com/p/javanaproche/wiki/HowToJPL找到了一个建议

按照说明,我将 swi-prolog 版本更改为构建表单源 pl-5.10.1。最后,它起作用了。我认为问题的发生是因为从突触管理器获取的 swi-prolog 未设置为共享库。如果有人知道如何设置共享库,它可能会起作用。

于 2011-07-01T17:46:35.920 回答