2010-04-05 4 views
0

Lors du chargement dans un programme C++ un programme Prolog contenant la commande « envoyer » (graphiques XPCE), je reçois des messages d'erreur de type:XPCE commande Prolog provoquant erreur dans VS2008 C++

Syntax Error: Operator Expected. 

Voici un exemple commande qui provoque les erreurs:

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

J'utilisé pour obtenir les mêmes erreurs quand je l'utilitaire plld.exe pour interfacer mon C++ et des programmes Prolog. A l'époque, je pensais que le problème était que le plld était pour une raison quelconque incompatible avec les graphiques xpce.

Mais maintenant que je consulte (charge) mes fichiers source Prolog dans mes fichiers C++ en utilisant:

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

Je reçois toujours ces messages d'erreur. Je pourrais commenter les lignes qui contiennent des commandes spécifiques à xpce, mais je préférerais savoir quel est le problème et comment je peux contourner ce problème. Donc, j'apprécierais toute aide.

Cheers,

Répondre

0

@ est apparemment inconnu!

Il est chargé par le fichier 'rc' dans le répertoire personnel SWI et réalise la liaison XPCE. Je charge cela à la main, en utilisant:

consult(swi('plwin.rc')) 

Tous mes pl et les fichiers sources de XPCE ont été compilés avec succès. J'interface C++ et Prolog pour connecter une architecture cognitive écrite en Prolog à un simulateur robotique écrit en C++. J'utilise la version 5.8.0 SWI donc je devais utiliser la ligne suivante dans mon programme C++ pour obtenir que:

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

Cette commande a abouti à:

swi(plwin.rc) compiled into link_xpce 

Merci à Jan Wielemaker.

Questions connexes