Команда XPCE Prolog, вызывающая ошибку в VS2008 C ++ - PullRequest
0 голосов
/ 06 апреля 2010

После загрузки в программу на C ++ программы Prolog, содержащей команду 'send' (xpce graphics), я получаю сообщения об ошибках типа:

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, но я бы предпочел знать, в чем проблема и как я могу ее обойти. Так что я был бы признателен за любую помощь.

Приветствия

1 Ответ

0 голосов
/ 06 апреля 2010

@ явно неизвестно!

Он загружается файлом 'rc' в домашнюю директорию SWI и реализует привязку 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

Благодаря ЯнWielemaker.

...