Установка артерии с венами OMNeT ++

Я уже установил и успешно протестировал Veins v4a2 (с включенным примером RSU). Чтобы добавить уровень приложения ITS-G5 к венам, я безуспешно пытался использовать «Артерию», так как при попытке запустить пример выдает ошибку типа:

Ошибка в модуле (cModule) RSUExampleScenario (id = 1) во время настройки сети: класс «Veins :: ObstacleControl» не найден Возможно, его код не был связан, или класс не был зарегистрирован с> Register_Class(), или в случае модулей и каналы, с> _2 _ / _ 3_.

Я выполнил следующие шаги:

  1. Скачайте Vanetza (и необходимые модули)
  2. Сборка Vanetza без ошибок
  3. Скачать Artery
  4. Постройте артерию, понравившуюся с помощью Vanetza, без ошибок
  5. Скопируйте папки и файлы "Artery" (examples, src, tests, Makefile, configure ...) в папку Veins, перезаписав файлы.
  6. Построение вен выполнено правильно, но выполнение обоих примеров (артерии и вен) завершается неудачно с указанной ошибкой.

На самом деле такая же ошибка возникает, если я пытаюсь запустить примеры Artery или RSU из кода Artery напрямую, без кода Veins (похоже, что код Artery уже содержит вены).

Кто-нибудь раньше сталкивался с этой проблемой?


person user1166776    schedule 29.02.2016    source источник
comment
Да .. в моем случае пришлось перекомпилировать Ванецу. Вы можете перечислить все зарегистрированные классы с помощью ./run --h classes в каталоге примеров, если я правильно помню.   -  person Ventu    schedule 08.03.2016
comment
Это было именно то решение !! Перекомпиляция vanetza и запуск примера артерии.   -  person user1166776    schedule 09.03.2016


Ответы (1)


Прежде всего, вам не нужно копировать Artery в Veins и перезаписывать какие-либо файлы, потому что ваше предположение верно: репозиторий Artery содержит полные источники Veins, потому что Artery - это надстройка, построенная на Veins. Сообщение об ошибке на самом деле немного вводит в заблуждение, но если вы внимательно посмотрите на полный журнал вывода, вы, скорее всего, найдете строку о неопределенной ссылке, в которой указывается, какой символ на самом деле отсутствует в скомпилированном двоичном файле. Это часто вызвано сборкой Vanetza в режиме отладки и Artery в режиме выпуска или наоборот.

person Raphael Riebl    schedule 11.03.2016