Команда XPCE Prolog вызывает ошибку в VS2008 C ++

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

Ваше здоровье,


person Community    schedule 05.04.2010    source источник


Ответы (1)


@ очевидно неизвестно!

Он загружается файлом '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

Спасибо Яну Вилемакеру.

person Community    schedule 06.04.2010