qtcreator问题与probuff一起编译

时间:2018-07-16 10:35:34

标签: protocol-buffers qt-creator ubuntu-16.04

我正在尝试使用新版本的protobuf编译我的代码(当前已使用自定义版本进行编译,我想通过apt-get使用ubuntu随附的版本进行编译)

在项目设置中,我添加了-lprotobuf

.obj/Test.pb.o: In function `test_ns::protobuf_AssignDesc_Test_2eproto()':
<<path to file>>/Test.pb.cc:115: undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::string const&) const'

出现错误的行('Test.pb.cc'):

void protobuf_AssignDesc_Test_2eproto() {
  protobuf_AddDesc_Test_2eproto();
  const ::google::protobuf::FileDescriptor* file =
    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
      "Test.proto");

我可以看到尝试查找文件“ Test.proto”时引起的错误,但该错误存在于另一个目录中,并且protoc命令使用该错误生成了Test.pb.cc和Test.pb.h。文件

1 个答案:

答案 0 :(得分:0)

仅出于原因,由ubuntu提供的原型就用不同的 ABI 进行了编译,并与我们项目中的ABI相匹配,从而解决了问题