我正在尝试在OMNeT ++ 5.0上编译最新的INET 3.3.0。我正在运行Arch Linux Linux arch 4.5.4-1-ARCH #1 SMP PREEMPT Wed May 11 22:21:28 CEST 2016 x86_64 GNU/Linux
。
请注意,这在我的笔记本电脑上也可以运行Arch Linux。然而,在我的桌面上,它失败了。
OMNeT ++安装并运行,我可以毫无问题地运行示例项目。
然而,当我编译INET时,它总是失败。我试过让IDE自己回答yes
来安装最新的INET。我自己下载了它,作为项目导入,右键单击并让它build project
并且我已经使用了make makefiles
,make MODE=release -j4
进入INET目录,但这一切都导致了以下错误:
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会导致不同的错误,无法正常工作。有没有人有任何想法?
答案 0 :(得分:2)
您只需修改sctphdr.h
中的代码并将其设为
uint8_t info [128];