错误:
‘kEmptyString’ is not a member of ‘google::protobuf::internel’
这是系统中装了几个版本的protobuf,在编译链接时出现问题所致。博客caffe编译问题汇总 中的方法是在makefile中强行指定protobuf 的路径,我试过解决不了的我的问题,更何况不是永久的解决办法。
我的系统中通过apt-get 安装过protobuf,也通过源码编译安装过protobuf,所以系统环境比较混乱。
解决方法: 删除/usr/local/include/google/protobuf文件夹,删除/ussr/local/lib中protobuf和protoc的库,这样就把自己源码编译安装的protobuf删除掉了。在编一caffe就没问题。 或者可以在通过synaptic卸载掉系统里的prtobuf,再重新安装以下,问题因该就可以解决。
另外,野遇到跟gflags相关乱七八糟的错误,也是这样解决的