caffe.pb.h:9:42: fatal error: google/protobuf/stubs/common.h: 没有那个文件或目录

【此为caffe安装报错记录贴】


报错内容

In file included from ./include/caffe/util/cudnn.hpp:8:0,
                 from ./include/caffe/util/device_alternate.hpp:40,
                 from ./include/caffe/common.hpp:19,
                 from ./include/caffe/util/math_functions.hpp:9,
                 from src/caffe/solvers/adagrad_solver.cu:1:
.build_release/src/caffe/proto/caffe.pb.h:9:42: fatal error: google/protobuf/stubs/common.h: 没有那个文件或目录


背景

最近在捣鼓人脸识别,之前是在虚拟机上装了Ubuntu,因为虚拟机无法装tensorflow-gpu,现在已经跑不动了。所以直接在宿主机上装了Ubuntu(原为Win7),双系统。配好了tensorflow-gpu,想着顺手把caffe也装了玩玩。make all -j8编译caffe时一直遇到以上报错。

不断定位原因,

  • 《Google-Protocol Buffer例子编译问题》中说g++时加-I目录,百度一搜很多都说这个。可是哪里加呢,我一直没找到。。
  • 另外一种,是说protobuf版本问题,python中的protobuf覆盖了系统环境的protoc。

看得是一头雾水,反正就是没解决。
后来Google上找到原因,是依赖没有装好!遂记录下来,免得大家百度的时候,搜到的只有上面两种答案,费时费力。


解决方案

在编译caffe前先安装一下库。

sudo apt-get install git
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev
libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get insall libgflags-dev libgoogle-glog-dev liblmdb-dev

然后进入caffe目录,先make clean,再make all -j8开始编译。

参考文章《Ubuntu配置caffe》,感谢!


结语

如果解决了你的问题,或者有其他问题,欢迎留言。
根据留言情况如果上述方法不能解决大家的问题,我会将这篇文章关掉。

你可能感兴趣的:(caffe,protobuf,common.h,make,all)