为 omnet++ 编译 INET 框架时出错

Error compiling INET framework for omnet++

我正在尝试在 OMNeT++ 5.0 上编译最新的 INET 3.3.0。我是 运行ning Arch Linux Linux arch 4.5.4-1-ARCH #1 SMP PREEMPT Wed May 11 22:21:28 CEST 2016 x86_64 GNU/Linux.

请注意,这在我的笔记本电脑上也适用 运行ning Arch Linux。但是在我的桌面上它失败了。

OMNeT++ 已安装并运行,我可以 运行 示例项目没有问题。

然而,当我编译 INET 时,它总是失败。我已经尝试让 IDE 通过回答 yes 来安装最新的 INET 来让 IDE 自己完成这一切。我自己下载了它,作为一个项目导入,右键单击并让它 build project 我已经求助于进入 INET 目录,发出 make makefilesmake MODE=release -j4,但这一切都导致了以下错误:

inet/common/serializer/ipv4/IPv4Serializer.cc:410:129: note: in C++11     destructors default to noexcept
inet/common/serializer/sctp/SCTPSerializer.cc
inet/common/serializer/tcp/TCPSerializer.cc
inet/common/serializer/udp/UDPSerializer.cc
In file included from     inet/common/serializer/sctp/SCTPSerializer.cc:28:0:
./inet/common/serializer/sctp/headers/sctphdr.h:415:22: error:     flexible array member in union
         uint8_t info[];
                  ^

以前版本的 INET 会导致不同的错误,none 可以。有人知道吗?

你只需要修改sctphdr.h中的代码,使之成为

  uint8_t info [128];