error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’


最近安裝caffe,突然報這個錯:

.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::ImageDataParameter::set_mean_file(const char*)’:
.build_release/src/caffe/proto/caffe.pb.h:17957:22: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
   if (mean_file_ == &::google::protobuf::internal::kEmptyString) {
                      ^
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::ImageDataParameter::set_mean_file(const char*, size_t)’:
.build_release/src/caffe/proto/caffe.pb.h:17964:22: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
   if (mean_file_ == &::google::protobuf::internal::kEmptyString) {
                      ^
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘std::string* caffe::ImageDataParameter::mutable_mean_file()’:
.build_release/src/caffe/proto/caffe.pb.h:17971:22: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
   if (mean_file_ == &::google::protobuf::internal::kEmptyString) {
                      ^
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘std::string* caffe::ImageDataParameter::release_mean_file()’:
.build_release/src/caffe/proto/caffe.pb.h:17978:22: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
   if (mean_file_ == &::google::protobuf::internal::kEmptyString) {
                      ^
.build_release/src/caffe/proto/caffe.pb.h:17982:47: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
     mean_file_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
                                               ^
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::ImageDataParameter::set_allocated_mean_file(std::string*)’:
.build_release/src/caffe/proto/caffe.pb.h:17987:22: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
   if (mean_file_ != &::google::protobuf::internal::kEmptyString) {
                      ^
.build_release/src/caffe/proto/caffe.pb.h:17995:47: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
     mean_file_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
                                               ^
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::ImageDataParameter::clear_root_folder()’:
.build_release/src/caffe/proto/caffe.pb.h:18054:24: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
   if (root_folder_ != &::google::protobuf::internal::kEmptyString) {
                        ^
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::ImageDataParameter::set_root_folder(const string&)’:
.build_release/src/caffe/proto/caffe.pb.h:18064:24: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
發現又是protoc的版本不對。

查了下:

sensetime@sensetime-To-be-filled-by-O-E-M:/home/zenggq/mainspace/mscnn$ which protoc
/usr/bin/protoc
sensetime@sensetime-To-be-filled-by-O-E-M:/home/zenggq/mainspace/mscnn$

 

sensetime@sensetime-To-be-filled-by-O-E-M:~/zenggq/caffe-bak$ pip show protobuf
Name: protobuf
Version: 3.3.0
Summary: Protocol Buffers
Home-page: https://developers.google.com/protocol-buffers/
Author: protobuf@googlegroups.com
Author-email: protobuf@googlegroups.com
License: 3-Clause BSD License
Location: /home/sensetime/anaconda2/lib/python2.7/site-packages
Requires: six, setuptools
sensetime@sensetime-To-be-filled-by-O-E-M:~/zenggq/caffe-bak$

protoc --version

發現是2.5.0

索性把anaconda2下的protoc文件覆蓋/usr/bin/protoc。

搞定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM