Omnet Как наследовать от cSimpleModule в другом проекте в одной рабочей области?

#c #eclipse #omnet

#c #eclipse #omnet

Вопрос:

Я новичок в OMNeT и C

Я хочу воспроизвести среду для libPTP: https://omnetpp.org/download-items/libPTP.html

и у меня возникли проблемы с настройкой проекта OMNeT_Utils как зависимости для libPTP. https://github.com/w-wallner/OMNeT_Utils

Проблема: я импортировал OMNeT_Utils в ту же рабочую область, что и INET. Если я пытаюсь собрать проект, я получаю ошибку консоли для файла CallableModule.h «ожидаемое имя класса перед ‘,’ токен.

cSimpleModule почему-то не распознается.

Кажется, это какая-то проблема со связыванием. Есть идеи?

Использование Omnet 5.6 INET 4.1 Linux Debian 9

Я попытался включить путь ../omnetpp-5.4.1/include/omnetpp, где csimplemodule.h — это C / C General —> Пути и символы. Но никакого эффекта не было. csimplemodule.h включен в omnetpp.h

CallableModule.h

 ...
#include "ICallableBase.h"
#include <omnetpp.h>
#include <stack>
...

class cCallableModule : public cSimpleModule, public virtual ICallableBase
{
    private:

        // Resources
        std::stack<cMethodCallContextSwitcher *>    ContextStack;
....
};
  

csimplemodule.h

 class SIM_API cSimpleModule : public cModule //implies noncopyable
{
    friend class cModule;
    friend class cSimulation;
...
}
  

Ответ №1:

Похоже, вы используете OMNeT 5.4.1 и INET 4.1, однако в проекте указано, что для сборки ему нужны OMNeT 4.x (предпочтительнее 4.6) и Inet 2.x. Если вы не собираетесь переносить все, я бы посоветовал строго следовать руководству по установке и пытаться обновлять другие компоненты только тогда, когда все уже запущено. OMNeT 4.6 и 5.x были серьезным обновлением с несколькими изменениями в API, аналогично, как INET 3.0, так и 4.0 были серьезными изменениями, поэтому вы не должны ожидать, что этот проект будет работать с новыми версиями.

Комментарии:

1. ОК. Попытаюсь найти другой способ настройки моделирования ptp с OMNeT 5.4 и INET4. Потому что я намерен использовать OMNeT 5.4 для других будущих симуляций и протоколов. В любом случае спасибо.