3

Java でプログラムをコーディングしていて、Prolog に接続したいと考えています。したがって、JPLを使用することにしました。Windows Vista で JPL を使用するのは完璧です。その後、OS プラットフォームを Ubuntu 11.04 に変更する必要があります。残念ながら、エラーがあります:

シンボル検索エラー: /usr/lib/swi-prolog/lib/i386/libjpl.so: 未定義のシンボル: PL_is_initialized

環境:

  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. Family.java + family.pl

作業の手順と問題点を以下に説明します。step1: Synaptic Package Manager を使用して 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_initialized step5: 環境も構成しますが、エラーは同じです。 環境引数を設定する

ステップ3と5のように問題を解決するために使用した方法は、インターネットから検索しました。試してみるべき他の解決策が見つかりません。誰にもアイデアはありますか?
前もって感謝します。

4

2 に答える 2

1

毎度のご支援誠にありがとうございます。今、私はこの問題を管理できます。ページhttp://code.google.com/p/javanaproche/wiki/HowToJPLから提案を見つけました

指示に従って、swi-prolog バージョンをビルド フォーム ソース pl-5.10.1 に変更します。最後に、それは機能します。問題は、シナプス マネージャーから取得する swi-prolog が共有ライブラリに設定されていないために発生すると思います。誰かが共有ライブラリを設定する方法を知っていれば、うまくいくかもしれません。

于 2011-07-01T17:46:35.920 に答える
1

を設定する必要があるLD_LIBRARY_PATHと思います。so-library ファイルの場所を追加してみてください。そして、あなたのSystem.loadLibrary();呼び出しが相対的であることを確認してください。

于 2011-07-01T08:45:50.580 に答える