编译caffe make all报错

dp@dp:~/ZX/iccv2019-fmeasure-master/caffe-master$ make all -j8
CXX/LD -o .build_release/tools/upgrade_net_proto_binary.bin
CXX/LD -o .build_release/tools/compute_image_mean.bin
CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin
CXX/LD -o .build_release/tools/convert_imageset.bin
CXX/LD -o .build_release/tools/extract_features.bin
CXX/LD -o .build_release/tools/upgrade_net_proto_text.bin
CXX/LD -o .build_release/tools/caffe.bin
CXX/LD -o .build_release/examples/cpp_classification/classification.bin
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:635: recipe for target '.build_release/tools/upgrade_net_proto_binary.bin' failed
make: *** [.build_release/tools/upgrade_net_proto_binary.bin] Error 1
make: *** 正在等待未完成的任务....
..build_releasebuild_release/lib/libcaffe.so:对‘cv::/imreadlib(cv::/String const&, int)’libcaffe.so����定乼�的弚��用
.build_release/lib�/libcaffe.soﹼ�对�‘cv::imencode(cv::String const&, cv::_InputArray const��cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std&, std::vector<unsigned char,::vector<unsigned char, std::allocator<unsigned  std:char> :allocator<unsigned char> >&, std>&, std::vector<int::vector<int, std:, std::allocator<:allocator<int>int> >  > const&const&)�)’��未未��定义的�义引�的弔�
.build_release/�用
.build_release/lib/libcaffe.solib/libcaffe.so:�:��对‘cv::imdecode(cv::_InputArray const‘cv::imdecode(cv::_InputArray const&, int)’未定�&, int)’未定义的��的引用
collect2: error: ld returned 1 exit status
引用
collect2: error: ld returned 1 exit status
Makefile:635: recipe for target '.build_release/tools/upgrade_net_proto_text.bin' failed
make: *** [.build_release/tools/upgrade_net_proto_text.bin] Error 1
Makefile:635: recipe for target '.build_release/tools/extract_features.bin' failed
make: *** [.build_release/tools/extract_features.bin] Error 1
..build_releasebuild_release//liblib//libcaffe.solibcaffe.so�\���寯��� ��cvcv::::imreadimread((cvcv::::StringString  constconst&&,,  intint))� ���朜���宮���乹���皚���弼���甔��

..build_releasebuild_release//liblib//libcaffe.solibcaffe.so�\���寯��� ��cvcv::::imencodeimencode((cvcv::::StringString  constconst&&,,  cvcv::::_InputArray_InputArray  constconst&&,,  stdstd::::vectorvector<<unsignedunsigned  charchar,, std :std::allocator:<allocatorunsigned< unsignedchar >char >> &>,& ,std :std::vector:<vectorint<,int ,std :std::allocator:<allocatorint<>int >>  >const &const)&�)�♀晜檜媮嚮䚹䉹牚焚儼啼畔稔
�.
build_release./build_releaselib//liblibcaffe.so/�libcaffe.so�嚯幯⹀☀cv�:cv::imdecode:(imdecodecv(:cv:::_InputArray_InputArray  constconst&&,,  intint))� ���朜���宮���乹���皚���弼���甔��

collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
Makefile:635: recipe for target '.build_release/tools/convert_imageset.bin' failed
make: *** [.build_release/tools/convert_imageset.bin] Error 1
Makefile:635: recipe for target '.build_release/tools/caffe.bin' failed
make: *** [.build_release/tools/caffe.bin] Error 1
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:635: recipe for target '.build_release/tools/upgrade_solver_proto_text.bin' failed
make: *** [.build_release/tools/upgrade_solver_proto_text.bin] Error 1
.build_release/examples/cpp_classification/classification.o:在函数‘main’中:
classification.cpp:(.text.startup+0x23d):对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:640: recipe for target '.build_release/examples/cpp_classification/classification.bin' failed
make: *** [.build_release/examples/cpp_classification/classification.bin] Error 1
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:635: recipe for target '.build_release/tools/compute_image_mean.bin' failed
make: *** [.build_release/tools/compute_image_mean.bin] Error 1

解决办法:

step1:去掉Makefile.config里的    #USE_PKG_CONFIG := 1 的注释

step2:在其下面一行添加:

LIBRARIES += glog gflags protobuf leveldb snappy \
        lmdb boost_system hdf5_hl hdf5 m \
        opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

保存后,make clean后,再编译。

发布了115 篇原创文章 · 获赞 33 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Dorothy_Xue/article/details/100116568