报错内容:C3848 具有类型“const google::protobuf::compiler::java::anonymous-namespace'::FieldDescriptorCompare”的表达式会丢失一些 const-volatile 限定符以调用“bool google::protobuf::compiler::java::
anonymous-namesp
解决办法
进入C:\Users\yozuriha\Desktop\protobuf-3.0.0\src\google\protobuf\compiler\java用vs打开java_file.cc,定位到FieldDescriptorCompare结构体在bool operator ()(const FieldDescriptor* f1, const FieldDescriptor* f2)函数名后加const,变成
bool operator ()(const FieldDescriptor* f1, const FieldDescriptor* f2) const{
if(f1 == NULL) {
return false;
}
if(f2 == NULL) {
return true;
}
return f1->full_name() < f2->full_name();
}