CHPCE Prolog Command вызывает ошибку в VS2008 C ++
-
24-09-2019 - |
Вопрос
После загрузки в программу C ++ программа пролога, которая содержит команду «Отправить» (Графика XPCE), я получаю сообщение об ошибках типа:
Syntax Error: Operator Expected.
Вот пример команды, которая вызывает ошибки:
send( Dialog, append, button(continue, message(@prolog, clear_my_blackboard)) ),
Раньше я получал те же ошибки, когда использовал утилиту PLLD.exe для взаимодействия My C ++ и программ пролога. В то время я думал, что проблема заключалась в том, что LLD по какой-то причине несовместимо с графикой XPCE.
Но теперь, когда я консультируюсь (загружаю) мой проточный исходные файлы в мои файлы C ++, используя:
PlCall( "consult(myPrologFile.pl)" );
Я все еще получаю эти сообщения об ошибках. Я мог бы прокомментировать строки, которые содержат команды, относящиеся к XPCE, но я предпочел бы знать, какова проблема и как я могу проехать его. Итак, я был бы признателен за любую помощь.
Ваше здоровье,
Решение
@ Видимо неизвестен!
Он загружен файлом «RC» в SWI HOME DIR и реализует привязку XPCE. Я должен загрузить это вручную, используя:
consult( swi( 'plwin.rc' ) )
Все мои исходные файлы PL и XPCE были успешно скомпилированы.
Я взаимодействую на C ++ и Prolog, чтобы подключить когнитивную архитектуру, написанную в прологе на роботизированный симулятор, написанный на C ++. Я использую SWI версию 5.8.0, поэтому мне пришлось использовать следующую строку в моей программе C ++ для достижения этого:
PlCall( "consult( swi( 'plwin.rc' ) )" );
Эта команда привела к:
swi(plwin.rc) compiled into link_xpce
Благодаря Яну Вилемакуру.