質問

C ++プログラムにロードすると、コマンド「send」(xpceグラフィックス)を含むPrologプログラムがあります。タイプのエラーメッセージが表示されます。

Syntax Error: Operator Expected.

エラーを引き起こすコマンドの例は次のとおりです。

send( Dialog, append, button(continue, message(@prolog, clear_my_blackboard)) ),

私は、C ++プログラムとPrologプログラムをインターフェースするためにPLLD.EXEユーティリティを使用したときに同じエラーを取得していました。当時、私は問題は、PLLDが何らかの理由でXPCEグラフィックスと互換性がないということだと思っていました。

しかし、今では、プロログソースファイルをC ++ファイルに参照して(ロード)しました。

PlCall( "consult(myPrologFile.pl)" );

私はまだこれらのエラーメッセージを受け取ります。 XPCE固有のコマンドを含む行をコメントすることができますが、問題が何であるか、どのようにそれを周回できるかを知りたいと思います。だから、私はどんな助けにも感謝します。

乾杯、

役に立ちましたか?

解決

@は明らかに不明です!

SWI Home Dirの「RC」ファイルによってロードされ、XPCEバインディングが実現されます。使用して、これを手でロードする必要があります。

consult( swi( 'plwin.rc' ) )

私のすべてのPLおよびXPCEソースファイルが正常にコンパイルされました。

私はC ++とPrologにインタフェースして、Prologで書かれた認知アーキテクチャをC ++で書かれたロボットシミュレーターに接続しています。私はSWIバージョン5.8.0を使用しているので、C ++プログラムで次の行を使用してそれを達成する必要がありました。

PlCall( "consult( swi( 'plwin.rc' ) )" );

このコマンドは次のようになりました。

swi(plwin.rc) compiled into link_xpce

Jan Wielemakerに感謝します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top