when i am compiling cmake to my ubuntu i face this issue
/usr/bin/ld: warning: libprotobuf.so.15, needed by ../../lib/libopencv_dnn.so.3.1.0, not found (try using -rpath or -rpath-link)
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::RegisterAllTypes(google::protobuf::Metadata const*, int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::Refresh()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteUInt32(int, unsigned int, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::__cxx11::basic_string, std::allocator> const&, unsigned char*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::FieldDescriptor::TypeOnceInit(google::protobuf::FieldDescriptor const*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::Arena::OnArenaAllocation(std::type_info const*, unsigned long) const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteEnum(int, int, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::__cxx11::basic_string, std::allocator> const&, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `vtable for google::protobuf::io::IstreamInputStream'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::InitProtobufDefaults()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteInt32(int, int, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::ReadVarint64Fallback()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::GoogleOnceInitImpl(long*, google::protobuf::Closure*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::ReadTagFallback(unsigned int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::UInt32Size(google::protobuf::RepeatedField const&)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `typeinfo for google::protobuf::Closure'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::RepeatedField const& google::protobuf::Reflection::GetRepeatedField(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::fixed_address_empty_string[abi:cxx11]'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::__cxx11::basic_string, std::allocator>*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::Message::GetTypeName[abi:cxx11]() const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint32SlowPath(unsigned int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint64SlowPath(unsigned long)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup(unsigned long, void (*)(void*))'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::Message::InitializationErrorString[abi:cxx11]() const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteFloat(int, float, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::MessageLite::ParseFromCodedStream(google::protobuf::io::CodedInputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormat::SerializeUnknownFields(google::protobuf::UnknownFieldSet const&, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::Message::DiscardUnknownFields()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::RepeatedField const& google::protobuf::Reflection::GetRepeatedField(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit() const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::ArenaImpl::AllocateAligned(unsigned long)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::UnknownFieldSet::AddVarint(int, unsigned long)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::Closure::~Closure()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit() const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback(unsigned int*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::ArenaImpl::AddCleanup(void*, void (*)(void*))'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBool(int, bool, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::MessageLite::SerializeWithCachedSizesToArray(unsigned char*) const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(int, google::protobuf::MessageLite const&, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::RepeatedPtrFieldBase::Reserve(int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteInt64(int, long, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::OnShutdownDestroyMessage(void const*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `vtable for google::protobuf::internal::FunctionClosure0'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteFloatArray(float const*, int, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::ReflectionOps::Merge(google::protobuf::Message const&, google::protobuf::Message*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::FieldDescriptor::kTypeToName'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::IstreamInputStream::IstreamInputStream(std::istream*, int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::FunctionClosure0::~FunctionClosure0()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::TextFormat::Parse(google::protobuf::io::ZeroCopyInputStream*, google::protobuf::Message*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `typeinfo for google::protobuf::Message'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::OnShutdownDestroyString(std::__cxx11::basic_string, std::allocator> const*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::__cxx11::basic_string, std::allocator> const&, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::VerifyVersion(int, int, char const*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::Reflection::MutableRawRepeatedString(google::protobuf::Message*, google::protobuf::FieldDescriptor const*, bool) const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::Int32Size(google::protobuf::RepeatedField const&)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::PushLimit(int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::UnknownFieldSet::MergeFrom(google::protobuf::UnknownFieldSet const&)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::SetTotalBytesLimit(int, int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::RepeatedField const& google::protobuf::Reflection::GetRepeatedField(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::RepeatedField const& google::protobuf::Reflection::GetRepeatedField(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::ReadRaw(void*, int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::UnknownFieldSet::ClearFallback()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::~CodedInputStream()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit(int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(google::protobuf::UnknownFieldSet const&)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::RepeatedField const& google::protobuf::Reflection::GetRepeatedField(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::ReadVarint32Fallback(unsigned int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::PopLimit(int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormat::SkipField(google::protobuf::io::CodedInputStream*, unsigned int, google::protobuf::UnknownFieldSet*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::RepeatedField const& google::protobuf::Reflection::GetRepeatedField(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::FieldDescriptor::kTypeToCppTypeMap'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::__cxx11::basic_string, std::allocator> const&))'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::SkipFallback(int, int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::__cxx11::basic_string, std::allocator> const&, google::protobuf::io::CodedOutputStream*)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::AssignDescriptors(std::__cxx11::basic_string, std::allocator> 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**)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit(int)'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::RepeatedField const& google::protobuf::Reflection::GetRepeatedField(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::io::CodedInputStream::default_recursion_limit_'
../../lib/libopencv_dnn.so.3.1.0: undefined reference to `google::protobuf::internal::WireFormat::ReadPackedEnumPreserveUnknowns(google::protobuf::io::CodedInputStream*, unsigned int, bool (*)(int), google::protobuf::UnknownFieldSet*, google::protobuf::RepeatedField*)'
collect2: error: ld returned 1 exit status
modules/dnn/CMakeFiles/example_dnn_caffe_googlenet.dir/build.make:100: recipe for target 'bin/example_dnn_caffe_googlenet' failed
make[2]: *** [bin/example_dnn_caffe_googlenet] Error 1
CMakeFiles/Makefile2:5181: recipe for target 'modules/dnn/CMakeFiles/example_dnn_caffe_googlenet.dir/all' failed
make[1]: *** [modules/dnn/CMakeFiles/example_dnn_caffe_googlenet.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
↧