C++ protobuf类中的Remy源代码(github)编译错误

C++ protobuf类中的Remy源代码(github)编译错误,c++,c,networking,network-programming,C++,C,Networking,Network Programming,我试图使用此链接中提供的指令来运行Remy项目(与计算机生成的网络协议相关)源代码。代码也取自此链接 我使用的是Protobuf3.5.1版本,Ubuntu版本是14.04。在按照自述文件中的说明分别运行./autogen.sh和./configure之后运行“make”命令时,我收到以下错误: In file included from configrange.hh:4:0, from evaluator.cc:3: ../protobufs/dna.pb.h:4210:20: error:

我试图使用此链接中提供的指令来运行Remy项目(与计算机生成的网络协议相关)源代码。代码也取自此链接

我使用的是Protobuf3.5.1版本,Ubuntu版本是14.04。在按照自述文件中的说明分别运行./autogen.sh和./configure之后运行“make”命令时,我收到以下错误:

In file included from configrange.hh:4:0,
from evaluator.cc:3:
../protobufs/dna.pb.h:4210:20: error: base class ‘struct         
google::protobuf::internal::integral_constant<bool, true>’ has a    
non-virtual destructor [-Werror=effc++]
template <> struct is_proto_enum< ::RemyBuffers::MemoryRange_Axis> : 
::google::protobuf::internal::true_type {};
在configrange.hh:4:0中包含的文件中,
来自evaluator.cc:3:
../protobufs/dna.pb.h:4210:20:错误:基类的结构
google::protobuf::internal::integral_常量“具有
非虚拟析构函数[-Werror=effc++]
模板结构是_proto_enum<::RemyBuffers::MemoryRange_Axis>:
::google::protobuf::internal::true_type{};
我查看了存储库的问题部分,但没有列出任何此类错误。项目是否可能使用了导致此错误的旧版本protobuf?还有人能解释一下“-Werror=effc++”标志是什么吗? 如果任何人以前遇到过此错误或有过此类问题的经验,请帮助我解决此错误。
感谢您

Prime>代码> -WFFC++< /Cord>使您的代码违反了Scott Meyers在其书(有效C++系列)中定义的任何风格指南的警告。 其中一条准则告诉我们,基类应该已经定义了虚拟析构函数——并且您得到了关于它的编译器消息。其他准则包括:

通过启用
-Weffc++
,您将只得到警告,但我看到的
-Werror
也在编译器标志列表中定义<代码>-Werror

将所有警告变成错误

您的编译被中止。我认为您应该从编译器标志列表中删除
Weffc++
-Werror
,以编译代码

 Define a copy constructor and an assignment operator for classes with dynamically-allocated memory.
 Prefer initialization to assignment in constructors.
 Have operator= return a reference to *this.
 Don’t try to return a reference when you must return an object.
 Distinguish between prefix and postfix forms of increment and decrement operators.
 Never overload &&, ||, or ,.