Veins Omnet++ 构建错误

Veins Omnet++ building error

我已经按照教程步骤为 Windows 安装 Veins 4.5 with sumo 0.29 和 Omnet++ 5.1,一切都很顺利,直到我不得不在 Omnet++ 中构建 Veins。我遇到的唯一问题与一些 Qt 包有关,在 Omnet++ 安装期间将 QTENV 选项设置为 "no" 解决了这个问题。

尝试在 Omnet++ 中构建 Veins 时,出现以下错误:

veins/base/modules/BaseMacLayer.cc:74:67: error: cast from 'const char*' to 'LAddress::L2Type {aka long int}' loses precision [-fpermissive]

搜索它到底是什么,我发现这通常与 32 位与 64 位机器编译问题有关。听说这个错误一般在64位机器上编译工程时出现(我的机器就是这样),在32位机器上不会。我想知道在 32 位机器上编译是否是 Veins 使用的要求,或者问题是否与您可能知道的其他任何事情有关。

这似乎是 Veins 4.5 中的错误。

由未使用的MiXiM代码触发。作为快速解决方法,将第 74 行替换为 line 72.

的内容

不过请注意,Veins 4.5 与 OMNeT++ 5.1 不兼容。如果将 OMNeT++ 5.1 与 Veins 4.5 一起使用对您来说绝对 必须 ,您可以在 issue tracker and the mailing list.

上找到一些想法

如果您可以等待,我建议您使用 Veins 教程中指出的兼容版本之一。