Коллеги,
при попытке скомпилировать код "Светофора", я столкнулась со следующей
проблемой.
Выяснилось, что в данный момент число типов interaction-ов ограничено числом
20. В текущей реализации наших средств каждой глобальной переменной, сигналу
и таймеру соответствует свой тип interaction-а, поэтому даже в относительно
простом "Светофоре" таких типов больше 20.
При компиляции появляется ошибка:
/home/alevtina/dyana/src/projects/trafficlight/HLA/object_model/inter_class_table.hpp:61:
error: wrong number of template arguments (22, should be 20)
/home/alevtina/dyana/src/bindings/protox/hla/keywords.hpp:143: error: provided
for ‘template<class T0, class T1, class T2, class T3, class T4, class T5,
class T6, class T7, class T8, class T9, class T10, class T11, class T12, class
T13, class T14, class T15, class T16, class T17, class T18, class T19> struct
protox::hla::child’
В bindings/protox/hla/keywords.hpp написано, что максимальное число
взаимодействий равно константе BOOST_MPL_LIMIT_SET_SIZE, которая в
/usr/include/boost/mpl/limits/set.hpp определена как 20.
Вопрос: как это можно нормально исправить?
Проще всего воспроизвести ошибку так:
в gui из scxml-файла сгенерировать код и для файла launcher.py нажать "launch
certi".
Перед первым после установки запуском gui нужно выполнить make cheetah в
каталоге src/codegen. После обновления кодогенератора -- make clean, make
cheetah.
--
Алевтина