我正在尝试构建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月以来它没有收到答案或评论,所以..
我想做什么:
我的第一个操作就是更改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"
方法。
omnetpp
命令带有以下选项: 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/
,.h
,transport/tcp_lwip
。
那么,我应该通过编写包含文件的完整/相对路径来修改所有源文件吗?
是否有更好,更智能,更集中的方式来实现这一目标,可能是通过修改applications/voipstream
文件中的内容?
我错过了一些非常明显的东西吗?
谢谢
我可以做什么: