0

エラーが発生しました:

 "FATAL ERROR: Could not find system resources"

次に、次のコードを追加しました。

 putenv("SWI_HOME_DIR=/usr/lib/swi-prolog");

私は別の問題に遭遇しました:

 "$c_call_prolog...Undefined procedure"

(詳しくはこちら)

以下のコマンドを実行しましたUbuntu 10.12

  sudo apt-get install swi-prolog build-essential.

テストする簡単なプログラムを書きましたCが、 から戻り値を取得できませんでしたprolog。とやり取りしたいとしmortal.plます。次のようにコンパイルしました。

swipl-ld -o mmm mortal.c mortal.pl

エラーはありませんが、私が述べたように。期待したものは得られませんでした。

別のコードを取得しましたが、コードに奇妙なことは何もありません。今回は最初のエラーが発生しました。swi-prolog がそのディレクトリに設定されていると、私の述語を検索しないようです。

これをどこに何を設定すればよいSWI_HOME_DIRですか?

4

2 に答える 2

1

(要約)と

putenv("SWI_HOME_DIR=/usr/lib/swi-prolog");

私は呼びました

mmm socrates

私は得た

$c_call_prolog...Undefined procedure

putenv なしで、同じ呼び出しが返されました

FATAL ERROR: Could not find system resources

やっと変えた

PL_initialise(1, plav)

どこ plav[0] = "致命的"; plav[1] = NULL; に

PL_initialise(1, argv)

からTrue/Falseを取得できます

rval = PL_call_predicate(NULL, PL_Q_NORMAL, pred, h0);

これは私自身を混乱させますが。PL_initialise() は何を期待していますか?...述語と呼ばれるものではありませんか?

于 2013-04-03T13:01:42.970 に答える
0

解決策はありません。最終的にubuntu 12.10 64ビット(以前は32ビット)をインストールしました。これらの奇妙な動作はすべてなくなりました。

于 2013-04-09T07:04:54.463 に答える