I tried to use 3.0.0 but it throws errors on compile about not finding stuff in tr1 namespace. Falling back to 2.6.1, I discovered an issue that should not happen.
Even though this line is in a message defined with a package, the c++ generated code has a collision with a function generated by protoc in the same file. package foobar; message foo { } message bar { ... required int32 descriptor = 3; ... optional foo = 10; } It seems there is a descriptor function already created in the code for foo and since the return types differ the compiler catches the attempt to overload it. in foo in the generated header, there is a undecorated function static const ::google::protobuf::Descriptor* descriptor(); this conflicts with the member generated inside the bar class. // required int32 descriptor = 3; inline bool has_descriptor() const; inline void clear_descriptor(); static const int kDescriptorFieldNumber = 3; inline ::google::protobuf::int32 descriptor() const; inline void set_descriptor(::google::protobuf::int32 value); I'd really like to keep the field names matching the existing code, has this been fixed in 3.0.0? If so any hints on getting it to build on OSX? -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to protobuf+unsubscr...@googlegroups.com. To post to this group, send email to protobuf@googlegroups.com. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.