【发布时间】:2016-03-29 15:01:03
【问题描述】:
我正在研究静脉。我需要更改BaseWaveApplLayer 的默认行为。而是在文件更改中,我创建了第二个名为 MyApp 的应用程序文件。我添加了MyApp.cc、MyApp.h、MyApp.ned 文件。然后我复制了TraCIDemoRSU11p,并为TraCIDemoRSU11pEnhanced 添加了文件。现在在.ini 文件中,当我将*.rsu[*].applType 更改为指向“TraCIDemoRSU11pEnhanced”时。它编译得很好,但是当我尝试运行它时,会产生以下错误:
Submodule appl: no module type named `TraCIDemo11pEnhanced' found that implements module interface org.car2x.veins.base.modules.IBaseApplLayer (not in the loaded NED files?).
在MyApp.ned 文件中,它被声明为IBaseApplLayer 类型。我尝试在ini文件中设置ned-path参数,没有解决问题。在静脉项目属性中,检查了 NED 源文件夹。我是否必须在某处为新创建的应用程序文件添加 ned 路径?
【问题讨论】:
-
检查 NED 路径是否设置正确——您粘贴的错误之前的输出应该告诉您 OMNeT++ 认为 NED 文件应该在哪里。还要确保
.ned文件在文件中包含正确的路径和名称(您是否将模块重命名为 TraCIDemoRSU11pEnhanced?)。 -
@RensvanderHeijden 我确实检查过。它说的是
Loading NED files from .: 1 Loading NED files from ../../src/veins: 32 Loading NED files from /home/path/veins-4a2/examples/veins: 1。这些文件位于 /src/veins。实际上TraCIDemoRSU11pEnhanced与TraCIDemoRSU11p在同一个文件夹中。我仔细检查了它,名字检查出来了。我没有重命名原始模块,我在此名称下创建了另一个扩展MyApp的文件。 -
您准备的复制NED模块的确切名称是什么:
TraCIDemoRSU11pEnhanced或TraCIDemo11pEnhanced?因为您提到了TraCIDemoRSU11pEnhanced,但错误中是TraCIDemo11pEnhanced。
标签: simulation omnet++ veins