protobuf默认安装的时候,configure使用的是使用动态链接库的方式进行安装和使用的,在使用过程中,会报出这个错误:
[libprotobuf ERROR google/protobuf/descriptor_database.cc:57] File already exists in database: pro_projectasset.proto
[libprotobuf FATAL google/protobuf/descriptor.cc:1164] CHECK failed: generated_database_->Add(encoded_file_descriptor, size):
terminate called after throwing an instance of 'google::protobuf::FatalException'
what(): CHECK failed: generated_database_->Add(encoded_file_descriptor, size):
当时自己并没有搞清楚问题的根源。在网上看到是可以通过将protobuf链接的时候改成静态链接库的方式进行。后续跟进
这里先记录一下问题的解决方案:
方案一:
即是对protobuf重新编绎安装,步骤如下:
编译google protobuff时,在configure 时加上选项:
configrue --disable-shared
即可编译成静态库