这似乎是一个 protobuf 链接错误。我正在描述我到达这里所遵循的步骤。
注意:以下链接用于安装协议缓冲区编译器和 gRPC。如果您已经有一个正在运行的 gRPC 系统,那么您可以跳过它
我已经按照各个重要链接中提到的步骤成功安装了 protobuf 和 grpc。
1. https://github.com/grpc/grpc/blob/master/BUILDING.md
注意:以下链接是获取和运行 Google 为语音识别应用程序提供的示例代码。
在第 9 步 - make run_tests
,我收到此错误
g++ transcribe.o parse_arguments.o googleapis.ar -L/usr/local/lib `pkg-config --libs grpc++ grpc` -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed -lprotobuf -lpthread -ldl -o transcribe
/usr/local/lib/libgrpc++_reflection.so: undefined reference to `google::protobuf::internal::AssignDescriptors(google::protobuf::internal::AssignDescriptorsTable*)'
/usr/local/lib/libgrpc++_reflection.so: undefined reference to `google::protobuf::internal::AddDescriptors(google::protobuf::internal::DescriptorTable*, void (* const*)(), int)'
collect2: error: ld returned 1 exit status
我无法检查是否正确声明
AssignDescriptors
和AddDescriptors
定义。我在哪里可以找到声明的这些函数?是否有我缺少要添加的标志或链接?
任何积极的帮助将不胜感激。谢谢