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.

Reply via email to