编译caffe的一个protobuf问题

编译caffe遇到的一个奇葩问题

一直都显示protobuf的问题,如下图所示:
编译caffe的一个protobuf问题_第1张图片
undefined reference to ‘google::protobuf::MessageLite::SerializeToString’
对于我这种老司机来说,编译安装caffe已经无数次了,看到这个的第一反应就是libprotobuf-dev这个没有安装,于是

sudo apt-get install libprotobuf-dev

但是系统提示我已经安装了。于是我想到会不会是没安装好,于是

sudo apt-get remove libprotobuf-dev

但是问题依然存在。然后我想到我之前切换过gcc的版本,会不会这个有问题,然后

sudo update-alternatives --config gcc

切换到gcc5.6版本
但是问题依然存在啊,我的天,瞬间我有种不祥的预感。于是把错误在google上一贴,确实有人说编译器的版本问题,也有人说libprotobuf-dev这个东西不好,需要自己编译protobuf源码。

所以我又尝试去下载protobuf源码编译
1、https://github.com/google/protobuf
2、./configure
3、make
4、make check
5、sudo make install
6、sudo ld config

然后我又重新make clean,再次的make
但是依然还是同样的错误啊。
简直泪崩。
最后我想手动地把所有关于protobuf的东西全部删除。
/usr/local
/usr/local/lib等等这里面的protobuf的相关东西全部删除。然后再重新编译protobuf。但是依然还是错误。

然后我检查Makefile的里面的protobuf的包含路径,也都是确实没有问题。

然后我一怒之下把python环境配置为系统自带的python环境,马丹,,,居然错误就没有了。瞬间就定位到错误原来是anaconda。因为我的anaconda里面安装了tensorflow的环境,所以一直没动它,tensorflow里面也是需要protobuf的,里面安装的protobuf版本和系统安装的版本有了冲突所以就一直出错。
。。。。。
最后就是这个问题了。

你可能感兴趣的:(深度学习,faster-rcnn)