转载请注明出处:

http://www.cnblogs.com/darkknightzh/p/5864715.html

参考网址:

https://github.com/BVLC/caffe/issues/3396

今天编译caffe代码,make all时,提示未定义的引用(undefined reference):

CXX/LD -o .build_release/examples/cifar10/convert_cifar_data.bin
.build_release/tools/extract_features.o:在函数‘int feature_extraction_pipeline<float>(int, char**)’中:
extract_features.cpp:(.text._Z27feature_extraction_pipelineIfEiiPPc[_Z27feature_extraction_pipelineIfEiiPPc]+0x165):对‘caffe::Net<float>::Net(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caffe::Phase, int, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const*, caffe::Net<float> const*)’未定义的引用
extract_features.cpp:(.text._Z27feature_extraction_pipelineIfEiiPPc[_Z27feature_extraction_pipelineIfEiiPPc]+0xb9b):对‘caffe::Net<float>::Forward(float*)’未定义的引用

参考网址中minghuam说明,是否在其他地方安装过caffe。突然想起来,最初编译的是原版的caffe,将caffe的include文件放到了/usr/include/caffe中,将lib文件放到了/usr/lib文件夹中,后来编译修改后的caffe,出现过这个问题,当时将修改后的include和lib文件分别放到了刚才的文件夹内。现在重新在原版的基础上修改caffe代码,但是include和lib文件夹内的文件未改回去,因而出现了上面的错误。替换后,就成功编译。。。所以,遇到问题还是有应该记一下,否则,还是会忘了。。。