Вопрос

После загрузки в программу 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

Благодаря Яну Вилемакуру.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top