构建Veins-LTE时出错:未找到OperationalBase.h

时间:2017-11-02 13:19:34

标签: makefile omnet++ veins

我正在尝试构建Veins-LTE 1.3,其中包括用于基于LTE的车载网络模拟的 inet simulte veins 。 按照README,我进入root包并写:

for

然而,最后一个命令导致构建 inet 时出现致命错误:

for($i = 0; $i < sizeof($array); $i++) {
    $BottomStat = $array[i][0];
    $AverageStat = $array[i][1];
    $TopStat = $array[i][2];
    $playerStat = $array[i][3]
    $returnString = Comparison::CompareLower($BottomStat, $AverageStat, $TopStat, $playerStat)
}

打开文件&#39; inet / src / applications / common / ApplicationBase.h&#39;,我立即意识到问题在于包含&#39; OperationalBase.h&#39;,事实上,不在同一目录中。相反,它可以在&lt; inet / src / base /&#39;中找到。 。目录

Omnet ++:5.2。 Veins-LTE:inet 2.3.0,veins 2.1bis,simulte 0.9.1 SUMO:0.30.0(如果这可能是相关的) 环境:Ubuntu 16.04.1 - amd64

我完全清楚已经存在类似的问题here,但自去年8月以来它没有收到答案或评论,所以..

我想做什么:

  1. 我的第一个操作就是更改include语句中的路径,以便指向正确的文件夹:make makefiles //this creates the required Makefile in inet, veins and simulte make ;这实际上将问题转移到其他地方,因为所有其他源文件在&#39; inet&#39; veins-lte包中的框架不包括所需头文件的完整路径(即,它们似乎假设所有.h文件都在同一目录中)。此外,由于不存在In file included from applications/common/ApplicationBase.h:21:10: fatal error: 'OperationalBase.h': file not found ,因此无法识别#include "../../base/OperationalBase.h"方法。

    1. 我看了一下&#39; inet / Makefile&#39;文件;特别是在更改为&s; src /&#39;之后文件夹,omnetpp命令带有以下选项:
  2. using namespace omnetpp ....和其他听起来像-DWITH _

    的东西

    根据opp_makemake文档(opp_makemake),opp_makemake -f --deep --make-so -o inet -O out -pINET - Xapplications/voipstream -Xtransport/tcp_lwip -Xtransport/tcp_nsc - DWITH_TCP_COMMON选项应该适合深度包含。这是否意味着不需要包含opp_makemake文件的完整(或相对于--deep)路径?唯一排除的源文件夹似乎是src/.htransport/tcp_lwip

    那么,我应该通过编写包含文件的完整/相对路径来修改所有源文件吗? 是否有更好,更智能,更集中的方式来实现这一目标,可能是通过修改applications/voipstream文件中的内容? 我错过了一些非常明显的东西吗?

    谢谢

    我可以做什么:

    • 成功运行Omnet ++ TicToc示例;
    • 成功运行静脉RSU示例(使用独立静脉 释放)
    • 成功运行基本的SUMO示例。

0 个答案:

没有答案