在将包含命令'send‘(xpce graphics)的Prolog程序加载到C++程序中时,我得到以下类型的错误消息:
Syntax Error: Operator Expected.以下是导致错误的命令示例:
send( Dialog, append, button(continue, message(@prolog, clear_my_blackboard)) ),当我使用plld.exe工具连接我的C++和Prolog程序时,我经常得到相同的错误。当时,我认为问题在于plld由于某种原因与xpce图形不兼容。
但现在我使用以下命令查阅(加载) Prolog源文件到C++文件中:
PlCall( "consult(myPrologFile.pl)" );我仍然收到这些错误消息。我可以注释掉包含特定于xpce的命令的行,但我更愿意知道问题是什么,以及如何绕过它。所以,我会很感激任何帮助的。
干杯,
发布于 2010-04-07 02:36:06
@显然是未知的!
它由SWI home目录中的'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。
https://stackoverflow.com/questions/2581223
复制相似问题