Hi,

I am trying to create a static lib with the message definitions to be share 
across multiple CMake projects. At the moment, I have:

   - A Conan.io package with *protobuf *pre-comiled into static libs.
   - A *CommonDefinitions* project (with a dependency to the *protobuf* 
   package)
      - From which I create a *CommonDefinitions* conan.io package 
      containing the CommonDefinitions static library
      - Project include a test Executable which uses the static library
   - A *EndUser* project (with a dependency to the *CommonDefinitions* 
   package and the *protobuf* package)

Now, the test executable of the *CommonDefiniitons* project works as 
expected and has access to the CommonDefinitions messages. However, the 
*EndUser* project is not able to link, it complains about missing 
references to protobuf static libraries, even though I also include the 
protobuf package in the *EndUser* target_link_libraries project as well.

Does anyone have an idea or had a similar problem?

Thanks

Here are the linker traces:

/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function `protobuf_test_2eproto::protobuf_AssignDescriptors()':
/home/toto/gitlab/system/system-definitions/build-debug/Definitions/test.pb.cc:79:
 
undefined reference to 
`google::protobuf::internal::AssignDescriptors(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&, 
google::protobuf::internal::MigrationSchema const*, 
google::protobuf::Message const* const*, unsigned int const*, 
google::protobuf::MessageFactory*, google::protobuf::Metadata*, 
google::protobuf::EnumDescriptor const**, 
google::protobuf::ServiceDescriptor const**)'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function 
`protobuf_test_2eproto::protobuf_RegisterTypes(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&)':
/home/toto/gitlab/system/system-definitions/build-debug/Definitions/test.pb.cc:90:
 
undefined reference to 
`google::protobuf::internal::RegisterAllTypes(google::protobuf::Metadata 
const*, int)'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function `protobuf_test_2eproto::AddDescriptorsImpl()':
/home/toto/gitlab/system/system-definitions/build-debug/Definitions/test.pb.cc:101:
 
undefined reference to 
`google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, 
int)'
/home/toto/gitlab/system/system-definitions/build-debug/Definitions/test.pb.cc:103:
 
undefined reference to 
`google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char 
const*, void (*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&))'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function 
`axis::system::test::TestData::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)':
/home/toto/gitlab/system/system-definitions/build-debug/Definitions/test.pb.cc:251:
 
undefined reference to 
`google::protobuf::internal::WireFormat::SkipField(google::protobuf::io::CodedInputStream*,
 
unsigned int, google::protobuf::UnknownFieldSet*)'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function 
`axis::system::test::TestData::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*)
 
const':
/home/toto/gitlab/system/system-definitions/build-debug/Definitions/test.pb.cc:294:
 
undefined reference to 
`google::protobuf::internal::WireFormat::SerializeUnknownFields(google::protobuf::UnknownFieldSet
 
const&, google::protobuf::io::CodedOutputStream*)'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function 
`axis::system::test::TestData::InternalSerializeWithCachedSizesToArray(bool, 
unsigned char*) const':
/home/toto/gitlab/system/system-definitions/build-debug/Definitions/test.pb.cc:330:
 
undefined reference to 
`google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet
 
const&, unsigned char*)'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function `axis::system::test::TestData::ByteSizeLong() const':
/home/toto/gitlab/system/system-definitions/build-debug/Definitions/test.pb.cc:343:
 
undefined reference to 
`google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(google::protobuf::UnknownFieldSet
 
const&)'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function 
`axis::system::test::TestData::MergeFrom(google::protobuf::Message const&)':
/home/toto/gitlab/system/system-definitions/build-debug/Definitions/test.pb.cc:374:
 
undefined reference to 
`google::protobuf::internal::ReflectionOps::Merge(google::protobuf::Message 
const&, google::protobuf::Message*)'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function `google::protobuf::MessageLite::MessageLite()':
/home/toto/.conan/data/protobuf/3.5.1/axis/stable/package/13856a74412f9b4d58ac9612c055a0cf19317385/include/google/protobuf/message_lite.h:176:
 
undefined reference to `vtable for google::protobuf::MessageLite'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function `google::protobuf::MessageLite::~MessageLite()':
/home/toto/.conan/data/protobuf/3.5.1/axis/stable/package/13856a74412f9b4d58ac9612c055a0cf19317385/include/google/protobuf/message_lite.h:177:
 
undefined reference to `vtable for google::protobuf::MessageLite'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function 
`google::protobuf::internal::GetProto3PreserveUnknownsDefault()':
/home/toto/.conan/data/protobuf/3.5.1/axis/stable/package/13856a74412f9b4d58ac9612c055a0cf19317385/include/google/protobuf/message_lite.h:400:
 
undefined reference to 
`google::protobuf::internal::proto3_preserve_unknown_'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function `google::protobuf::UnknownFieldSet::Clear()':
/home/toto/.conan/data/protobuf/3.5.1/axis/stable/package/13856a74412f9b4d58ac9612c055a0cf19317385/include/google/protobuf/unknown_field_set.h:267:
 
undefined reference to `google::protobuf::UnknownFieldSet::ClearFallback()'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function 
`google::protobuf::internal::InternalMetadataWithArena::DoMergeFrom(google::protobuf::UnknownFieldSet
 
const&)':
/home/toto/.conan/data/protobuf/3.5.1/axis/stable/package/13856a74412f9b4d58ac9612c055a0cf19317385/include/google/protobuf/metadata.h:62:
 
undefined reference to 
`google::protobuf::UnknownFieldSet::MergeFrom(google::protobuf::UnknownFieldSet 
const&)'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function 
`google::protobuf::internal::InternalMetadataWithArena::default_instance()':
/home/toto/.conan/data/protobuf/3.5.1/axis/stable/package/13856a74412f9b4d58ac9612c055a0cf19317385/include/google/protobuf/metadata.h:70:
 
undefined reference to 
`google::protobuf::UnknownFieldSet::default_instance()'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function `google::protobuf::Message::Message()':
/home/toto/.conan/data/protobuf/3.5.1/axis/stable/package/13856a74412f9b4d58ac9612c055a0cf19317385/include/google/protobuf/message.h:188:
 
undefined reference to `vtable for google::protobuf::Message'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function `google::protobuf::Message::~Message()':
/home/toto/.conan/data/protobuf/3.5.1/axis/stable/package/13856a74412f9b4d58ac9612c055a0cf19317385/include/google/protobuf/message.h:189:
 
undefined reference to `vtable for google::protobuf::Message'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):
 
In function `axis::system::test::TestData const* 
google::protobuf::internal::DynamicCastToGenerated<axis::system::test::TestData 
const>(google::protobuf::Message const*)':
/home/toto/.conan/data/protobuf/3.5.1/axis/stable/package/13856a74412f9b4d58ac9612c055a0cf19317385/include/google/protobuf/generated_message_reflection.h:698:
 
undefined reference to `typeinfo for google::protobuf::Message'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):(.rodata._ZTVN4axis6system4test8TestDataE[_ZTVN4axis6system4test8TestDataE]+0x20):
 
undefined reference to `google::protobuf::Message::GetTypeName[abi:cxx11]() 
const'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):(.rodata._ZTVN4axis6system4test8TestDataE[_ZTVN4axis6system4test8TestDataE]+0x58):
 
undefined reference to 
`google::protobuf::Message::InitializationErrorString[abi:cxx11]() const'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):(.rodata._ZTVN4axis6system4test8TestDataE[_ZTVN4axis6system4test8TestDataE]+0x60):
 
undefined reference to 
`google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite 
const&)'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):(.rodata._ZTVN4axis6system4test8TestDataE[_ZTVN4axis6system4test8TestDataE]+0x80):
 
undefined reference to 
`google::protobuf::MessageLite::SerializeWithCachedSizesToArray(unsigned 
char*) const'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):(.rodata._ZTVN4axis6system4test8TestDataE[_ZTVN4axis6system4test8TestDataE]+0xb0):
 
undefined reference to `google::protobuf::Message::DiscardUnknownFields()'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):(.rodata._ZTVN4axis6system4test8TestDataE[_ZTVN4axis6system4test8TestDataE]+0xb8):
 
undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
/home/toto/.conan/data/system-definitions/0.0/axis/stable/package/9755f981ac44041fa0948f05e49abfa3d3346131/lib/libsystem-definitions.a(test.pb.cc.o):(.rodata._ZTIN4axis6system4test8TestDataE[_ZTIN4axis6system4test8TestDataE]+0x10):
 
undefined reference to `typeinfo for google::protobuf::Message'



-- 
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 https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to