我已经按照教程步骤安装了用于Windows的Veins 4.5和sumo 0.29以及Omnet ++ 5.1,一切都很顺利,直到我必须在Omnet ++中构建Veins。我遇到的唯一问题是与一些Qt软件包有关,解决了将QTENV选项设置为" no"在Omnet ++安装期间。
当尝试在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位机器上编译是否需要静脉使用,或者问题是否与您可能知道的任何其他问题有关。
答案 0 :(得分:2)
这似乎是Veins 4.5中的一个错误。
由未使用的MiXiM代码触发。作为快速解决方法,使用line 72的内容替换第74行。
但请注意,Veins 4.5与OMNeT ++ 5.1不兼容。如果使用带有Veins 4.5的OMNeT ++ 5.1绝对是必须,您可以在issue tracker和mailing list上找到一些想法。
如果您可以等待,我建议您使用Veins教程中指出的兼容版本之一。