has anyone found any solution to this problem? Em quarta-feira, 21 de março de 2018 15:13:47 UTC-3, [email protected] escreveu: > > 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 view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/0c8f9284-d405-4501-aedb-2470359077c3%40googlegroups.com.
