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

Reply via email to