I change "caffe.cpp" with nothing but adding a blank space, and the compiling failed!
g++ tools/caffe.cpp -pthread -fPIC -DNDEBUG -O2 -I/usr/include/python2.7 -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include -I.build_release/src -I./src -I./include -I/usr/local/cuda/include -Wall -Wno-sign-compare -c -o .build_release/tools/caffe.o 2> .build_release/tools/caffe.o.warnings.txt \
|| (cat .build_release/tools/caffe.o.warnings.txt; exit 1)
In file included from ./include/caffe/blob.hpp:5:0,
from ./include/caffe/caffe.hpp:7,
from tools/caffe.cpp:8:
.build_release/src/caffe/proto/caffe.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
.build_release/src/caffe/proto/caffe.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
.build_release/src/caffe/proto/caffe.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
In file included from ./include/caffe/blob.hpp:5:0,
from ./include/caffe/caffe.hpp:7,
from tools/caffe.cpp:8:
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::Datum::clear_data()’:
.build_release/src/caffe/proto/caffe.pb.h:6722:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::Datum::set_data(const string&)’:
.build_release/src/caffe/proto/caffe.pb.h:6732:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::Datum::set_data(const char*)’:
.build_release/src/caffe/proto/caffe.pb.h:6739:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::Datum::set_data(const void*, size_t)’:
.build_release/src/caffe/proto/caffe.pb.h:6746:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘std::string* caffe::Datum::mutable_data()’:
.build_release/src/caffe/proto/caffe.pb.h:6753:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘std::string* caffe::Datum::release_data()’:
.build_release/src/caffe/proto/caffe.pb.h:6760:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h:6764:42: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::NetParameter::clear_name()’:
.build_release/src/caffe/proto/caffe.pb.h:7025:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::NetParameter::set_name(const string&)’:
.build_release/src/caffe/proto/caffe.pb.h:7035:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::NetParameter::set_name(const char*)’:
.build_release/src/caffe/proto/caffe.pb.h:7042:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::NetParameter::set_name(const char*, size_t)’:
.build_release/src/caffe/proto/caffe.pb.h:7049:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘std::string* caffe::NetParameter::mutable_name()’:
.build_release/src/caffe/proto/caffe.pb.h:7056:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
.build_release/src/caffe/proto/caffe.pb.h: In member function ‘std::string* caffe::NetParameter::release_name()’: