之前在编译caffe时,protoc版本是系统默认的2.6.1版本。
后来在使用OPEN AI的框架tengine时,环境要求protoc版本为3.0.0
当时我直接把2.6.1版本的删除,新装了3.0.0.,再跑caffe项目时,caffe.pb.h报错This file was generated by an older version of protoc
只需要到caffe的根目录里重新编译一下:
cd caffe
make clean
make all -j8
重新编译好caffe之后,一定要到caffe根目录下重新手动生成caffe.pb.h文件:
cd caffe
protoc src/caffe/proto/caffe.proto --cpp_out=.
mkdir include/caffe/proto
mv src/caffe/proto/caffe.pb.h include/caffe/proto
之后再编译caffe的C++项目就没毛病了
附1:
protoc --version #查看版本
which protoc #查看当前系统默认protoc位置
whereis protoc #查看系统内protoc都在什么位置