在ubantu16.04版本的linux系统中编译caffe时遇到两个undefined reference to的路径问题,在尝试多个方法后,总结解决方法:
1.undefined reference to `google::protobuf::Message::InitializationErrorString() const' 即:
方法一:caffe的预装软件protobuff版本冲突,默认的protoc版本为protoc-2.5.0,需要升级为protoc-2.6.1,并且在bash中加入路径。(可以使用protoc --version查看版本)
方法二:若在升级protobuf版本后仍出现该错误,需要更改gcc版本。首先gcc --version查看gcc版本,再到/usr/local/cuda/include$中的host_config.h文件第119行,如下:
可见需要gcc版本高于5.0,更新gcc版本或建立高版本软链接。
2.undefined reference to `cv::imread(std::string const&,int)' 即包含&