【问题标题】:XPCE Prolog command causing error in VS2008 C++XPCE Prolog 命令在 VS2008 C++ 中导致错误
【发布时间】:2010-04-05 21:16:43
【问题描述】:

在将包含命令“发送”(xpce 图形)的 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 特定命令的行,但我更想知道问题出在哪里以及如何绕过它。因此,我将不胜感激。

干杯,

【问题讨论】:

    标签: visual-studio-2008 swi-prolog xpce


    【解决方案1】:

    @显然是未知的!

    它由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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      相关资源
      最近更新 更多