错误:tcpip::Socket::recvAndCheck@recv:peer关闭



我正试图从Mac OS High Sierra系统上的plexe vens文件夹中运行一个示例,据我所知,我已经安装了所有必要的库。

  1. 我遇到的唯一问题是安装omnetpp__0.7-1.tar.gz文件。网上的一些研究让我相信我电脑上的R版本无法编译该文件,因为该文件是旧版本。我曾尝试安装旧版本,但由于操作系统的兼容性问题而失败。在这方面,我完全没有出路
  2. 当我运行队列示例时,GUI会打开,我可以运行模拟几秒钟,直到出现错误:

(omnetpp::cDoubleParImpl)simulationDuration:无法从类型强制转换double到integer--在模块中(SimplePlatooningApp)scenario.node[0].appl(id=11),t=1.01s,事件#204在上面的异常,由于错误调试=true配置选项。调试器准备好了吗/运行:第2行:90810跟踪/BPT陷阱:5../../运行"$@">

我安装的omnet版本是omnet++-5.4,我还遵循了手册中的程序,其中包括"./configure"one_answers"make"命令。我通过输入有问题的目录来运行此示例,然后运行:./run -u Cmdenv -c Sinusoidal -r 2

我的问题似乎是多方面的。以下是我为解决问题而采取的步骤:

  • 我遵循了Julian提供的关于安装的Omnet++版本的建议,我将其降级为Omnet++5.0
  • 我还注意到,我的系统上以前安装了相扑(而不是丛相扑),因此它似乎在运行模拟,而不是丛相扑。所以我卸载了它
  • 非静态声明允许的静态声明"abs"似乎也存在问题,这导致omnetpp_0.7.1.tar.gz在编译时失败。我通过在xcode.app/Contents/Developer/Toolchains/usr/include/v1中查找stdlib.h文件来解决这个问题,并注释出"inline _LIBCPP_inline_VISILITY"(应该有更好的修复方法)

我感谢你的帮助!!!

OMNeT的部分是一个强制转换错误。这是由于OMNeT++5.4改变了一些内部参数,因此对于Plexe 2.0来说只是一个全新的版本。你必须使用像OMNeT 5.0或5.1这样的旧版本,因为这就是Plexe 2.0的构建基础。

另请参阅以下帖子:

  • 静脉教程模拟中的错误
  • 在安装的最后一步中运行静脉示例时出错
  • 在OMNET++中的参数表达式中是否可以进行强制转换

最新更新