Omnet ++如何从同一工作区中不同项目的cSimpleModule继承?

时间:2019-04-11 15:48:11

标签: 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 互联网4.1 Linux Debian 9

我尝试添加路径../omnetpp-5.4.1/include/omnetpp 其中csimplemodule.h与C / C ++常规->路径和符号一起使用。 但是没有效果。 omn​​etpp.h包含csimplemodule.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 个答案:

答案 0 :(得分:0)

您似乎正在使用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也是重大更改,因此,您不应期望该项目可以与新版本一起使用。