compile problems

1,622 views
Skip to first unread message

cad...@googlemail.com

unread,
Sep 14, 2008, 4:33:37 PM9/14/08
to Protocol Buffers
Hello,

I try to use protobufs 2.01 on Gentoo. I've compiled the
addressbook.proto example but whenever I try to compile the
addressbook.pb.cc file I get a lot of errors. I use eclipse ganymede.

It can find all include headers.

Some errors I get:
- undefined reference to
`google::protobuf::internal::VerifyVersion(int, int, char const*)'
- undefined reference to
`google::protobuf::internal::LogMessage::~LogMessage()'
- undefined reference to
`google::protobuf::DescriptorPool::internal_generated_pool()'

Thanks for you help!

Cheers
-Marco

--- cut here ---
Building file: ../pTest.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"pTest.d" -
MT"pTest.d" -o"pTest.o" "../pTest.cpp"
Finished building: ../pTest.cpp

Building target: prototest
Invoking: GCC C++ Linker
g++ -o"prototest" ./addressbook.pb.o ./pTest.o
./addressbook.pb.o: In function `~Person_PhoneNumber':
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:120: undefined
reference to `google::protobuf::Message::~Message()'
./addressbook.pb.o: In function `~AddressBook':
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:248: undefined
reference to `google::protobuf::Message::~Message()'
./addressbook.pb.o: In function `~Person':
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:193: undefined
reference to `google::protobuf::Message::~Message()'
./addressbook.pb.o: In function
`tutorial::proto_BuildDescriptors_addressbook_2eproto()':
/galimedo/prototest/Debug/../addressbook.pb.cc:25: undefined reference
to `google::protobuf::internal::VerifyVersion(int, int, char const*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:27: undefined reference
to `google::protobuf::DescriptorPool::internal_generated_pool()'
/galimedo/prototest/Debug/../addressbook.pb.cc:37: undefined reference
to `google::protobuf::DescriptorPool::InternalBuildGeneratedFile(void
const*, int)'
/galimedo/prototest/Debug/../addressbook.pb.cc:41: undefined reference
to
`google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(google::protobuf::Descriptor
const*, google::protobuf::Message const*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:44: undefined reference
to
`google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(google::protobuf::Descriptor
const*, google::protobuf::Message const*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:47: undefined reference
to
`google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(google::protobuf::Descriptor
const*, google::protobuf::Message const*)'
./addressbook.pb.o: In function `AddressBook':
/galimedo/prototest/Debug/../addressbook.pb.cc:240: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:242: undefined
reference to
`google::protobuf::Message::MergeFrom(google::protobuf::Message
const&)'
/galimedo/prototest/Debug/../addressbook.pb.cc:243: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:243: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:240: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:242: undefined
reference to
`google::protobuf::Message::MergeFrom(google::protobuf::Message
const&)'
/galimedo/prototest/Debug/../addressbook.pb.cc:243: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:243: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:230: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:234: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:230: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:234: undefined
reference to `google::protobuf::Message::~Message()'
./addressbook.pb.o: In function `Person':
/galimedo/prototest/Debug/../addressbook.pb.cc:179: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:181: undefined
reference to
`google::protobuf::Message::MergeFrom(google::protobuf::Message
const&)'
/galimedo/prototest/Debug/../addressbook.pb.cc:182: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:182: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:179: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:181: undefined
reference to
`google::protobuf::Message::MergeFrom(google::protobuf::Message
const&)'
/galimedo/prototest/Debug/../addressbook.pb.cc:182: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:182: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:166: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:170: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:166: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:170: undefined
reference to `google::protobuf::Message::~Message()'
./addressbook.pb.o: In function `Person_PhoneNumber':
/galimedo/prototest/Debug/../addressbook.pb.cc:109: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:111: undefined
reference to
`google::protobuf::Message::MergeFrom(google::protobuf::Message
const&)'
/galimedo/prototest/Debug/../addressbook.pb.cc:112: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:112: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:109: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:111: undefined
reference to
`google::protobuf::Message::MergeFrom(google::protobuf::Message
const&)'
/galimedo/prototest/Debug/../addressbook.pb.cc:112: undefined
reference to
`google::protobuf::internal::GeneratedMessageReflection::~GeneratedMessageReflection()'
/galimedo/prototest/Debug/../addressbook.pb.cc:112: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:97: undefined reference
to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:101: undefined
reference to `google::protobuf::Message::~Message()'
/galimedo/prototest/Debug/../addressbook.pb.cc:97: undefined reference
to
`google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor
const*, void*, void const*, int const*, unsigned int*,
google::protobuf::internal::ExtensionSet*)'
/galimedo/prototest/Debug/../addressbook.pb.cc:101: undefined
reference to `google::protobuf::Message::~Message()'
./addressbook.pb.o: In function `Message':
/usr/include/google/protobuf/message.h:130: undefined reference to
`vtable for google::protobuf::Message'
./addressbook.pb.o: In function `GenericRepeatedField':
/usr/include/google/protobuf/repeated_field.h:57: undefined reference
to `vtable for google::protobuf::internal::GenericRepeatedField'
./addressbook.pb.o: In function `~RepeatedPtrField':
/usr/include/google/protobuf/repeated_field.h:449: undefined reference
to
`google::protobuf::internal::GenericRepeatedField::~GenericRepeatedField()'
/usr/include/google/protobuf/repeated_field.h:449: undefined reference
to
`google::protobuf::internal::GenericRepeatedField::~GenericRepeatedField()'
/usr/include/google/protobuf/repeated_field.h:449: undefined reference
to
`google::protobuf::internal::GenericRepeatedField::~GenericRepeatedField()'
/usr/include/google/protobuf/repeated_field.h:449: undefined reference
to
`google::protobuf::internal::GenericRepeatedField::~GenericRepeatedField()'
/usr/include/google/protobuf/repeated_field.h:449: undefined reference
to
`google::protobuf::internal::GenericRepeatedField::~GenericRepeatedField()'
./addressbook.pb.o:/usr/include/google/protobuf/repeated_field.h:449:
more undefined references to
`google::protobuf::internal::GenericRepeatedField::~GenericRepeatedField()'
follow
./addressbook.pb.o: In function
`google::protobuf::RepeatedPtrField<tutorial::Person>::Mutable(int)':
/usr/include/google/protobuf/repeated_field.h:473: undefined reference
to
`google::protobuf::internal::LogMessage::LogMessage(google::protobuf::LogLevel,
char const*, int)'
/usr/include/google/protobuf/repeated_field.h:473: undefined reference
to `google::protobuf::internal::LogMessage::operator<<(char const*)'
/usr/include/google/protobuf/repeated_field.h:473: undefined reference
to
`google::protobuf::internal::LogFinisher::operator=(google::protobuf::internal::LogMessage&)'
/usr/include/google/protobuf/repeated_field.h:473: undefined reference
to `google::protobuf::internal::LogMessage::~LogMessage()'
/usr/include/google/protobuf/repeated_field.h:473: undefined reference
to `google::protobuf::internal::LogMessage::~LogMessage()'
./addressbook.pb.o: In function
`google::protobuf::RepeatedPtrField<tutorial::Person>::Get(int)
const':
/usr/include/google/protobuf/repeated_field.h:467: undefined reference
to
`google::protobuf::internal::LogMessage::LogMessage(google::protobuf::LogLevel,
char const*, int)'
/usr/include/google/protobuf/repeated_field.h:467: undefined reference
to `google::protobuf::internal::LogMessage::operator<<(char const*)'
/usr/include/google/protobuf/repeated_field.h:467: undefined reference
to
`google::protobuf::internal::LogFinisher::operator=(google::protobuf::internal::LogMessage&)'
/usr/include/google/protobuf/repeated_field.h:467: undefined reference
to `google::protobuf::internal::LogMessage::~LogMessage()'
/usr/include/google/protobuf/repeated_field.h:467: undefined reference
to `google::protobuf::internal::LogMessage::~LogMessage()'
./addressbook.pb.o: In function
`google::protobuf::RepeatedPtrField<tutorial::Person_PhoneNumber>::Mutable(int)':
/usr/include/google/protobuf/repeated_field.h:473: undefined reference
to
`google::protobuf::internal::LogMessage::LogMessage(google::protobuf::LogLevel,
char const*, int)'
/usr/include/google/protobuf/repeated_field.h:473: undefined reference
to `google::protobuf::internal::LogMessage::operator<<(char const*)'
/usr/include/google/protobuf/repeated_field.h:473: undefined reference
to
`google::protobuf::internal::LogFinisher::operator=(google::protobuf::internal::LogMessage&)'
/usr/include/google/protobuf/repeated_field.h:473: undefined reference
to `google::protobuf::internal::LogMessage::~LogMessage()'
/usr/include/google/protobuf/repeated_field.h:473: undefined reference
to `google::protobuf::internal::LogMessage::~LogMessage()'
./addressbook.pb.o: In function
`google::protobuf::RepeatedPtrField<tutorial::Person_PhoneNumber>::Get(int)
const':
/usr/include/google/protobuf/repeated_field.h:467: undefined reference
to
`google::protobuf::internal::LogMessage::LogMessage(google::protobuf::LogLevel,
char const*, int)'
/usr/include/google/protobuf/repeated_field.h:467: undefined reference
to `google::protobuf::internal::LogMessage::operator<<(char const*)'
/usr/include/google/protobuf/repeated_field.h:467: undefined reference
to
`google::protobuf::internal::LogFinisher::operator=(google::protobuf::internal::LogMessage&)'
/usr/include/google/protobuf/repeated_field.h:467: undefined reference
to `google::protobuf::internal::LogMessage::~LogMessage()'
/usr/include/google/protobuf/repeated_field.h:467: undefined reference
to `google::protobuf::internal::LogMessage::~LogMessage()'
./addressbook.pb.o:(.rodata._ZTVN8tutorial11AddressBookE[vtable for
tutorial::AddressBook]+0x28): undefined reference to
`google::protobuf::Message::CopyFrom(google::protobuf::Message
const&)'
./addressbook.pb.o:(.rodata._ZTVN8tutorial11AddressBookE[vtable for
tutorial::AddressBook]+0x30): undefined reference to
`google::protobuf::Message::MergeFrom(google::protobuf::Message
const&)'
./addressbook.pb.o:(.rodata._ZTVN8tutorial11AddressBookE[vtable for
tutorial::AddressBook]+0x38): undefined reference to
`google::protobuf::Message::Clear()'
./addressbook.pb.o:(.rodata._ZTVN8tutorial11AddressBookE[vtable for
tutorial::AddressBook]+0x40): undefined reference to
`google::protobuf::Message::IsInitialized() const'
./addressbook.pb.o:(.rodata._ZTVN8tutorial11AddressBookE[vtable for
tutorial::AddressBook]+0x48): undefined reference to
`google::protobuf::Message::DiscardUnknownFields()'
./addressbook.pb.o:(.rodata._ZTVN8tutorial11AddressBookE[vtable for
tutorial::AddressBook]+0x50): undefined reference to
`google::protobuf::Message::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)'
./addressbook.pb.o:(.rodata._ZTVN8tutorial11AddressBookE[vtable for
tutorial::AddressBook]+0x58): undefined reference to
`google::protobuf::Message::ByteSize() const'
./addressbook.pb.o:(.rodata._ZTVN8tutorial11AddressBookE[vtable for
tutorial::AddressBook]+0x60): undefined reference to
`google::protobuf::Message::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*)
const'
./addressbook.pb.o:(.rodata._ZTVN8tutorial6PersonE[vtable for
tutorial::Person]+0x28): undefined reference to
`google::protobuf::Message::CopyFrom(google::protobuf::Message
const&)'
./addressbook.pb.o:(.rodata._ZTVN8tutorial6PersonE[vtable for
tutorial::Person]+0x30): undefined reference to
`google::protobuf::Message::MergeFrom(google::protobuf::Message
const&)'
./addressbook.pb.o:(.rodata._ZTVN8tutorial6PersonE[vtable for
tutorial::Person]+0x38): undefined reference to
`google::protobuf::Message::Clear()'
./addressbook.pb.o:(.rodata._ZTVN8tutorial6PersonE[vtable for
tutorial::Person]+0x40): undefined reference to
`google::protobuf::Message::IsInitialized() const'
./addressbook.pb.o:(.rodata._ZTVN8tutorial6PersonE[vtable for
tutorial::Person]+0x48): undefined reference to
`google::protobuf::Message::DiscardUnknownFields()'
./addressbook.pb.o:(.rodata._ZTVN8tutorial6PersonE[vtable for
tutorial::Person]+0x50): undefined reference to
`google::protobuf::Message::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)'
./addressbook.pb.o:(.rodata._ZTVN8tutorial6PersonE[vtable for
tutorial::Person]+0x58): undefined reference to
`google::protobuf::Message::ByteSize() const'
./addressbook.pb.o:(.rodata._ZTVN8tutorial6PersonE[vtable for
tutorial::Person]+0x60): undefined reference to
`google::protobuf::Message::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*)
const'
./addressbook.pb.o:(.rodata._ZTVN8tutorial18Person_PhoneNumberE[vtable
for tutorial::Person_PhoneNumber]+0x28): undefined reference to
`google::protobuf::Message::CopyFrom(google::protobuf::Message
const&)'
./addressbook.pb.o:(.rodata._ZTVN8tutorial18Person_PhoneNumberE[vtable
for tutorial::Person_PhoneNumber]+0x30): undefined reference to
`google::protobuf::Message::MergeFrom(google::protobuf::Message
const&)'
./addressbook.pb.o:(.rodata._ZTVN8tutorial18Person_PhoneNumberE[vtable
for tutorial::Person_PhoneNumber]+0x38): undefined reference to
`google::protobuf::Message::Clear()'
./addressbook.pb.o:(.rodata._ZTVN8tutorial18Person_PhoneNumberE[vtable
for tutorial::Person_PhoneNumber]+0x40): undefined reference to
`google::protobuf::Message::IsInitialized() const'
./addressbook.pb.o:(.rodata._ZTVN8tutorial18Person_PhoneNumberE[vtable
for tutorial::Person_PhoneNumber]+0x48): undefined reference to
`google::protobuf::Message::DiscardUnknownFields()'
./addressbook.pb.o:(.rodata._ZTVN8tutorial18Person_PhoneNumberE[vtable
for tutorial::Person_PhoneNumber]+0x50): undefined reference to
`google::protobuf::Message::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)'
./addressbook.pb.o:(.rodata._ZTVN8tutorial18Person_PhoneNumberE[vtable
for tutorial::Person_PhoneNumber]+0x58): undefined reference to
`google::protobuf::Message::ByteSize() const'
./addressbook.pb.o:(.rodata._ZTVN8tutorial18Person_PhoneNumberE[vtable
for tutorial::Person_PhoneNumber]+0x60): undefined reference to
`google::protobuf::Message::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*)
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'
./addressbook.pb.o:
(.rodata._ZTIN6google8protobuf16RepeatedPtrFieldIN8tutorial6PersonEEE[typeinfo
for google::protobuf::RepeatedPtrField<tutorial::Person>]+0x10):
undefined reference to `typeinfo for
google::protobuf::internal::GenericRepeatedField'
./addressbook.pb.o:
(.rodata._ZTIN6google8protobuf16RepeatedPtrFieldIN8tutorial18Person_PhoneNumberEEE[typeinfo
for google::protobuf::RepeatedPtrField<tutorial::Person_PhoneNumber>]
+0x10): undefined reference to `typeinfo for
google::protobuf::internal::GenericRepeatedField'
./pTest.o: In function `main':
/galimedo/prototest/Debug/../pTest.cpp:64: undefined reference to
`google::protobuf::internal::VerifyVersion(int, int, char const*)'
/galimedo/prototest/Debug/../pTest.cpp:78: undefined reference to
`google::protobuf::Message::ParseFromIstream(std::basic_istream<char,
std::char_traits<char> >*)'
/galimedo/prototest/Debug/../pTest.cpp:90: undefined reference to
`google::protobuf::Message::SerializeToOstream(std::basic_ostream<char,
std::char_traits<char> >*) const'
./pTest.o: In function
`tutorial::Person_PhoneNumber::set_type(tutorial::Person_PhoneType)':
/galimedo/prototest/Debug/../addressbook.pb.h:375: undefined reference
to
`google::protobuf::internal::LogMessage::LogMessage(google::protobuf::LogLevel,
char const*, int)'
/galimedo/prototest/Debug/../addressbook.pb.h:375: undefined reference
to `google::protobuf::internal::LogMessage::operator<<(char const*)'
/galimedo/prototest/Debug/../addressbook.pb.h:375: undefined reference
to
`google::protobuf::internal::LogFinisher::operator=(google::protobuf::internal::LogMessage&)'
/galimedo/prototest/Debug/../addressbook.pb.h:375: undefined reference
to `google::protobuf::internal::LogMessage::~LogMessage()'
/galimedo/prototest/Debug/../addressbook.pb.h:375: undefined reference
to `google::protobuf::internal::LogMessage::~LogMessage()'
collect2: ld returned 1 exit status
make: *** [prototest] Error 1
--- cut here ---

cad...@googlemail.com

unread,
Sep 14, 2008, 4:59:26 PM9/14/08
to Protocol Buffers
I was able to compile the cpp files but not able to link them:
g++ pTest.o addressbook.pb.o -lc -o proto

And I get exactly the same error like I've posted before.

Thanks
-Marco

Kenton Varda

unread,
Sep 15, 2008, 2:10:51 PM9/15/08
to cad...@googlemail.com, Protocol Buffers
You need to link against libprotobuf.so.

cad...@googlemail.com

unread,
Sep 15, 2008, 5:57:43 PM9/15/08
to Protocol Buffers
Hi Kenton Varda

Oooopsi, yeah seems that was the problem ;)

Thanks for your help
-Marco
Reply all
Reply to author
Forward
0 new messages