Hi,

I managed to cross compile and test addressbook program for my target 
platform i.e. arm.
However, when doing the same with lite library, it fails to compile.

The example fails to compile for both x86 and arm. I read that the lite 
version of the library omits some features but is that the case with 
address book example as well? If that's the case, is there any example 
around that works with protobuf-lite. Or is it the compilation step that is 
missing something.  Below is the error, same compiles fine for -lprotobuf

machine@machine-VirtualBox:~/svn_branch_dev/protobuf_example/src$ 
arm-linux-gnueabi-g++ add_person.cc addressbook.pb.cc -o 
add_person_cpp_arm_static -static -pthread 
-I/home/machine/svn_branch_dev/protobuf_example/ARMTarget/include  -pthread 
-L/home/machine/svn_branch_dev/protobuf_example/ARMTarget/lib/ 
-lprotobuf-lite -lpthread


/tmp/ccSfec4t.o: In function `main':
add_person.cc:(.text+0x34e): undefined reference to 
`google::protobuf::Message::ParseFromIstream(std::basic_istream<char, 
std::char_traits<char> >*)'
add_person.cc:(.text+0x3f2): undefined reference to 
`google::protobuf::Message::SerializeToOstream(std::basic_ostream<char, 
std::char_traits<char> >*) const'
/tmp/ccqqsnlg.o: In function 
`tutorial::protobuf_AssignDesc_addressbook_2eproto()':
addressbook.pb.cc:(.text+0xa): undefined reference to 
`google::protobuf::DescriptorPool::generated_pool()'
addressbook.pb.cc:(.text+0x38): undefined reference to 
`google::protobuf::DescriptorPool::FindFileByName(std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&) const'
addressbook.pb.cc:(.text+0x100): undefined reference to 
`google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(google::protobuf::Descriptor
 
const*, google::protobuf::Message const*, int const*, int, int, int, int, 
int, int)'
addressbook.pb.cc:(.text+0x174): undefined reference to 
`google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(google::protobuf::Descriptor
 
const*, google::protobuf::Message const*, int const*, int, int, int, int, 
int, int)'
addressbook.pb.cc:(.text+0x1fe): undefined reference to 
`google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(google::protobuf::Descriptor
 
const*, google::protobuf::Message const*, int const*, int, int, int, int, 
int, int)'
/tmp/ccqqsnlg.o: In function `tutorial::(anonymous 
namespace)::protobuf_RegisterTypes(std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&)':
addressbook.pb.cc:(.text+0x280): undefined reference to 
`google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(google::protobuf::Descriptor
 
const*, google::protobuf::Message const*)'
addressbook.pb.cc:(.text+0x298): undefined reference to 
`google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(google::protobuf::Descriptor
 
const*, google::protobuf::Message const*)'
addressbook.pb.cc:(.text+0x2b0): undefined reference to 
`google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(google::protobuf::Descriptor
 
const*, google::protobuf::Message const*)'
/tmp/ccqqsnlg.o: In function 
`tutorial::protobuf_AddDesc_addressbook_2eproto()':
addressbook.pb.cc:(.text+0x420): undefined reference to 
`google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, 
int)'
addressbook.pb.cc:(.text+0x434): undefined reference to 
`google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char 
const*, void (*)(std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&))'
/tmp/ccqqsnlg.o: In function 
`tutorial::Person_PhoneNumber::Person_PhoneNumber()':
addressbook.pb.cc:(.text+0x600): undefined reference to 
`google::protobuf::Message::~Message()'
/tmp/ccqqsnlg.o: In function 
`tutorial::Person_PhoneNumber::Person_PhoneNumber(tutorial::Person_PhoneNumber 
const&)':
addressbook.pb.cc:(.text+0x67a): undefined reference to 
`google::protobuf::Message::~Message()'
/tmp/ccqqsnlg.o: In function 
`tutorial::Person_PhoneNumber::~Person_PhoneNumber()':
addressbook.pb.cc:(.text+0x6ec): undefined reference to 
`google::protobuf::Message::~Message()'
addressbook.pb.cc:(.text+0x722): undefined reference to 
`google::protobuf::Message::~Message()'
/tmp/ccqqsnlg.o: In function 
`tutorial::Person_PhoneNumber::MergeFrom(google::protobuf::Message const&)':
addressbook.pb.cc:(.text+0xe06): undefined reference to 
`google::protobuf::internal::ReflectionOps::Merge(google::protobuf::Message 
const&, google::protobuf::Message*)'
/tmp/ccqqsnlg.o: In function `tutorial::Person::Person()':
addressbook.pb.cc:(.text+0x1120): undefined reference to 
`google::protobuf::Message::~Message()'
/tmp/ccqqsnlg.o: In function `tutorial::Person::Person(tutorial::Person 
const&)':
addressbook.pb.cc:(.text+0x11b2): undefined reference to 
`google::protobuf::Message::~Message()'
/tmp/ccqqsnlg.o: In function `tutorial::Person::~Person()':
addressbook.pb.cc:(.text+0x1244): undefined reference to 
`google::protobuf::Message::~Message()'
addressbook.pb.cc:(.text+0x1288): undefined reference to 
`google::protobuf::Message::~Message()'
/tmp/ccqqsnlg.o: In function 
`tutorial::Person::MergeFrom(google::protobuf::Message const&)':
addressbook.pb.cc:(.text+0x1f2a): undefined reference to 
`google::protobuf::internal::ReflectionOps::Merge(google::protobuf::Message 
const&, google::protobuf::Message*)'
/tmp/ccqqsnlg.o: In function 
`tutorial::AddressBook::AddressBook(tutorial::AddressBook const&)':
addressbook.pb.cc:(.text+0x232a): undefined reference to 
`google::protobuf::Message::~Message()'
/tmp/ccqqsnlg.o: In function `tutorial::AddressBook::~AddressBook()':
addressbook.pb.cc:(.text+0x238c): undefined reference to 
`google::protobuf::Message::~Message()'
addressbook.pb.cc:(.text+0x23c2): undefined reference to 
`google::protobuf::Message::~Message()'
/tmp/ccqqsnlg.o: In function 
`tutorial::AddressBook::MergeFrom(google::protobuf::Message const&)':
addressbook.pb.cc:(.text+0x2942): undefined reference to 
`google::protobuf::internal::ReflectionOps::Merge(google::protobuf::Message 
const&, google::protobuf::Message*)'
/tmp/ccqqsnlg.o: In function `.LC18':
addressbook.pb.cc:(.rodata+0x4c8): undefined reference to 
`google::protobuf::Message::GetTypeName() const'
addressbook.pb.cc:(.rodata+0x4e4): undefined reference to 
`google::protobuf::Message::InitializationErrorString() const'
addressbook.pb.cc:(.rodata+0x4e8): undefined reference to 
`google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite 
const&)'
addressbook.pb.cc:(.rodata+0x508): undefined reference to 
`google::protobuf::Message::DiscardUnknownFields()'
addressbook.pb.cc:(.rodata+0x50c): undefined reference to 
`google::protobuf::Message::SpaceUsed() const'
addressbook.pb.cc:(.rodata+0x530): undefined reference to 
`google::protobuf::Message::GetTypeName() const'
addressbook.pb.cc:(.rodata+0x54c): undefined reference to 
`google::protobuf::Message::InitializationErrorString() const'
addressbook.pb.cc:(.rodata+0x550): undefined reference to 
`google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite 
const&)'
addressbook.pb.cc:(.rodata+0x570): undefined reference to 
`google::protobuf::Message::DiscardUnknownFields()'
addressbook.pb.cc:(.rodata+0x574): undefined reference to 
`google::protobuf::Message::SpaceUsed() const'
addressbook.pb.cc:(.rodata+0x598): undefined reference to 
`google::protobuf::Message::GetTypeName() const'
addressbook.pb.cc:(.rodata+0x5b4): undefined reference to 
`google::protobuf::Message::InitializationErrorString() const'
addressbook.pb.cc:(.rodata+0x5b8): undefined reference to 
`google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite 
const&)'
addressbook.pb.cc:(.rodata+0x5d8): undefined reference to 
`google::protobuf::Message::DiscardUnknownFields()'
addressbook.pb.cc:(.rodata+0x5dc): undefined reference to 
`google::protobuf::Message::SpaceUsed() const'
addressbook.pb.cc:(.rodata+0x5f4): undefined reference to `typeinfo for 
google::protobuf::Message'
addressbook.pb.cc:(.rodata+0x61c): undefined reference to `typeinfo for 
google::protobuf::Message'
addressbook.pb.cc:(.rodata+0x63c): undefined reference to `typeinfo for 
google::protobuf::Message'
/tmp/ccqqsnlg.o: In function 
`google::protobuf::internal::InternalMetadataWithArena::Container::~Container()':
addressbook.pb.cc:(.text._ZN6google8protobuf8internal25InternalMetadataWithArena9ContainerD2Ev[_ZN6google8protobuf8internal25InternalMetadataWithArena9ContainerD5Ev]+0xc):
 
undefined reference to 
`google::protobuf::UnknownFieldSet::~UnknownFieldSet()'
/tmp/ccqqsnlg.o: In function `google::protobuf::Message::Message()':
addressbook.pb.cc:(.text._ZN6google8protobuf7MessageC2Ev[_ZN6google8protobuf7MessageC5Ev]+0x24):
 
undefined reference to `vtable for google::protobuf::Message'
/tmp/ccqqsnlg.o: In function 
`google::protobuf::internal::InternalMetadataWithArena::Container::Container()':
addressbook.pb.cc:(.text._ZN6google8protobuf8internal25InternalMetadataWithArena9ContainerC2Ev[_ZN6google8protobuf8internal25InternalMetadataWithArena9ContainerC5Ev]+0xc):
 
undefined reference to 
`google::protobuf::UnknownFieldSet::UnknownFieldSet()'
/tmp/ccqqsnlg.o: In function `tutorial::Person_PhoneNumber const* 
google::protobuf::internal::DynamicCastToGenerated<tutorial::Person_PhoneNumber 
const>(google::protobuf::Message const*)':
addressbook.pb.cc:(.text._ZN6google8protobuf8internal22DynamicCastToGeneratedIKN8tutorial18Person_PhoneNumberEEEPT_PKNS0_7MessageE[tutorial::Person_PhoneNumber
 
const* 
google::protobuf::internal::DynamicCastToGenerated<tutorial::Person_PhoneNumber 
const>(google::protobuf::Message const*)]+0x20): undefined reference to 
`typeinfo for google::protobuf::Message'
addressbook.pb.cc:(.text._ZN6google8protobuf8internal22DynamicCastToGeneratedIKN8tutorial18Person_PhoneNumberEEEPT_PKNS0_7MessageE[tutorial::Person_PhoneNumber
 
const* 
google::protobuf::internal::DynamicCastToGenerated<tutorial::Person_PhoneNumber 
const>(google::protobuf::Message const*)]+0x24): undefined reference to 
`typeinfo for google::protobuf::Message'
/tmp/ccqqsnlg.o: In function `tutorial::Person const* 
google::protobuf::internal::DynamicCastToGenerated<tutorial::Person 
const>(google::protobuf::Message const*)':
addressbook.pb.cc:(.text._ZN6google8protobuf8internal22DynamicCastToGeneratedIKN8tutorial6PersonEEEPT_PKNS0_7MessageE[tutorial::Person
 
const* google::protobuf::internal::DynamicCastToGenerated<tutorial::Person 
const>(google::protobuf::Message const*)]+0x20): undefined reference to 
`typeinfo for google::protobuf::Message'
addressbook.pb.cc:(.text._ZN6google8protobuf8internal22DynamicCastToGeneratedIKN8tutorial6PersonEEEPT_PKNS0_7MessageE[tutorial::Person
 
const* google::protobuf::internal::DynamicCastToGenerated<tutorial::Person 
const>(google::protobuf::Message const*)]+0x24): undefined reference to 
`typeinfo for google::protobuf::Message'
/tmp/ccqqsnlg.o: In function `tutorial::AddressBook const* 
google::protobuf::internal::DynamicCastToGenerated<tutorial::AddressBook 
const>(google::protobuf::Message const*)':
addressbook.pb.cc:(.text._ZN6google8protobuf8internal22DynamicCastToGeneratedIKN8tutorial11AddressBookEEEPT_PKNS0_7MessageE[tutorial::AddressBook
 
const* 
google::protobuf::internal::DynamicCastToGenerated<tutorial::AddressBook 
const>(google::protobuf::Message const*)]+0x20): undefined reference to 
`typeinfo for google::protobuf::Message'
/tmp/ccqqsnlg.o:addressbook.pb.cc:(.text._ZN6google8protobuf8internal22DynamicCastToGeneratedIKN8tutorial11AddressBookEEEPT_PKNS0_7MessageE[tutorial::AddressBook
 
const* 
google::protobuf::internal::DynamicCastToGenerated<tutorial::AddressBook 
const>(google::protobuf::Message const*)]+0x24): more undefined references 
to `typeinfo for google::protobuf::Message' follow
collect2: ld returned 1 exit status



Thanks
Suvir

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to