【问题标题】:Google Speech recognition (cpp samples): undefined reference to AssignDescriptors()Google 语音识别(cpp 示例):未定义对 AssignDescriptors() 的引用
【发布时间】:2019-06-17 21:20:56
【问题描述】:

这似乎是一个 protobuf 链接错误。我正在描述我到达这里所遵循的步骤。

注意:以下链接用于安装协议缓冲区编译器和 gRPC。如果你已经有一个正在运行的 gRPC 系统,那么你可以跳过它

注意:以下链接用于获取和运行 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
  1. 我无法检查 AssignDescriptorsAddDescriptors 是否已正确声明和定义。 在哪里可以找到这些声明的函数?

  2. 是否有我缺少要添加的标志或链接?

我们将不胜感激任何积极的帮助。谢谢

【问题讨论】:

    标签: c++ protocol-buffers google-speech-api protobuf-c


    【解决方案1】:

    我观察到 grpc++ version 1.19 不支持 protobuf-c version 15

    为了完成这项工作,我将符号链接指针从 libprotobuf-c.so.15 更改为 libprotobuf-c.so.17

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多