I've tried to build the project manually with the example makefile, the 2 executables works well. I believe that the linking option that makes the correct linking is `pkg-config --cflags --libs protobuf`.. now the question is.. how can i put them into Eclipse? but it's not a protobuf question anymore.. thanks!
On 23 Giu, 18:44, Jason Hsueh <[email protected]> wrote: > Yeah, it appears you aren't linking against the protobuf runtime. Did you > set up eclipse to build from the makefile in the examples directory? > > On Thu, Jun 23, 2011 at 8:46 AM, Enrico Viappiani <[email protected]>wrote: > > > I've installed protobuf 2.4.1 on ubuntu, running configure,make, make > > check and make install, and everything seems fine. > > Then I've tried to compile the examples code in the packet, "make > > cpp" , I've obtained the .cc and .h from the .proto file. > > In Eclipse CDT, I've imported those 2 files, along with the other > > 2 .cc sources,list_people.cc and add_person.cc ; > > In the included libraries I've both /usr/local/include and /usr/local/ > > lib. > > But doesn't build at all because of tons of errors like this: > > > ... > > (google::protobuf::MessageLite const&)' > > ./addressbook.pb.o:(.rodata._ZTVN8tutorial18Person_PhoneNumberE[vtable > > for tutorial::Person_PhoneNumber]+0x88): undefined reference to > > `google::protobuf::Message::DiscardUnknownFields()' > > ./addressbook.pb.o:(.rodata._ZTVN8tutorial18Person_PhoneNumberE[vtable > > for tutorial::Person_PhoneNumber]+0x90): undefined reference to > > `google::protobuf::Message::SpaceUsed() const' > > ./addressbook.pb.o:(.rodata._ZTIN8tutorial11AddressBookE[typeinfo for > > tutorial::AddressBook]+0x10): undefined reference to `typeinfo for > > google::protobuf::Message' > > ./addressbook.pb.o:(.rodata._ZTIN8tutorial6PersonE[typeinfo for > > tutorial::Person]+0x10): undefined reference to `typeinfo for > > google::protobuf::Message' > > ./addressbook.pb.o: > > (.rodata._ZTIN8tutorial18Person_PhoneNumberE[typeinfo for > > tutorial::Person_PhoneNumber]+0x10): undefined reference to `typeinfo > > for google::protobuf::Message' > > ./list_people.o: In function `main': > > list_people.cc:(.text+0x1ed): undefined reference to > > `google::protobuf::internal::VerifyVersion(int, int, char const*)' > > list_people.cc:(.text+0x297): undefined reference to > > `google::protobuf::Message::ParseFromIstream(std::basic_istream<char, > > std::char_traits<char> >*)' > > list_people.cc:(.text+0x313): undefined reference to > > `google::protobuf::ShutdownProtobufLibrary()' > > .. > > > even on the macro GOOGLE_VERIFY_VERSION i get "undefined reference to > > `google::protobuf::internal::VerifyVersion(int, int, char const*)' " > > > I believe that is a linking problem, but I'm not sure.. > > > I'm really confused.. and I don't know really how to check my > > installation.. > > > some Ideas? > > > -- > > 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. -- 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.
