The issue is import paths - the pre-generated versions of
descriptor.pb.{h,cc} are generated relative to the source root. Instead of
importing "descriptor.proto", you should have something likeimport "google/protobuf/descriptor.proto"; This should make the code generator reference the declared functions in descriptor.pb.h<http://code.google.com/p/protobuf/source/browse/trunk/src/google/protobuf/descriptor.pb.h#33>. (And this way you should have separate directories for your code and the google protobuf code) On Fri, May 25, 2012 at 11:41 AM, Dan <[email protected]> wrote: > Perhaps I am just missing something, however I am getting a compiler error > that appears to be an issue with descriptor.pb.h. > > The error is this: "protobuf_AddDesc_descriptor_2eproto is not a member of > google::protobuf", called from "void > MyPackageName::protobuf_AddDesc_MyMessage_2eproto()". > Basically, MyMessage looks like this: > > package MyPackageName; > import "descriptor.proto"; > > option optimize_for = SPEED; > > message MyMessage > { > optional google.protobuf.FileDescriptorSet proto_set = 1; > } > > Looking at the effect of other "import" statements I have made, it looks > like the method should have been defined in descriptor.pb.h. It is not, and > it does not appear that I should try to compile descriptor.proto myself. > > I am using version 2.4.1 of the protobuf library, and as you've probably > guessed, trying to compile C++. > Any ideas on how to fix this? > > thanks in advance, > Dan > > -- > You received this message because you are subscribed to the Google Groups > "Protocol Buffers" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/protobuf/-/AcHuNhBnkzgJ. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/protobuf?hl=en. > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.
