caffe编译的时候出现这个问题,怎么破?

.build_release/lib/libcaffe.so:对‘google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::Message::GetTypeName() const’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::internal::StringTypeHandlerBase::Delete(std::string*)’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::string const&))’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector >&, std::vector > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘leveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::Message::DebugString() const’未定义的引用
.build_release/lib/libcaffe.so:对‘google::base::CheckOpMessageBuilder::NewString()’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::internal::StringTypeHandlerBase::New()’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::MessageLite::ParseFromString(std::string const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::internal::empty_string_’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::internal::WireFormatLite::WriteString(int, std::string const&, google::protobuf::io::CodedOutputStream*)’未定义的引用
.build_release/lib/libcaffe.so:对‘leveldb::Status::ToString() const’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::DescriptorPool::FindFileByName(std::string const&) const’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)’未定义的引用
.build_release/lib/libcaffe.so:对‘google::protobuf::Message::InitializationErrorString() const’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:636: recipe for target '.build_release/tools/upgrade_net_proto_text.bin' failed
make: *** [.build_release/tools/upgrade_net_proto_text.bin] Error 1

https://blog.csdn.net/nanbei2463776506/article/details/79323590