.build_release/lib/libcaffe.so: undefined reference to cv::imread(cv::String const&, int)’ .

1129 ワード

私が使っているバージョンは3.1.0で、コンパイル工事の時、次のようなバグに遭遇しました.
...CXX/LD -o .build_release/tools/convert_imageset.bin .build_release/lib/libcaffe.so: undefined reference to cv::imread(cv::String const&, int)’ .build_release/lib/libcaffe.so: undefined reference tocv::imencode(cv::String const&, cv::_InputArray const&, std::vector >&, std::vector > const&)’ .build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)’ collect2: error: ld returned 1 exit status make: * [.build_release/tools/convert_imageset.bin] Error 1
...
まずopencvを構成しました.インストールバージョンを問い合わせることができます.
$ pkg-config --modversion opencv

コンパイルができたので、当然、出力結果は3.1.0したがって、上記のエラーは、opencv_imgcodecsリンクの問題であるべきであり、比較的有効な解決策は、opencvに必要なlibをMakefileファイルに追加し、LIBRARIES(PYTHON_LIBRARIES := boost_python python2.7)を見つけることである. 前の行)を次のように変更します.
LIBRARIES += glog gflags protobuf leveldb snappy\        lmdb boost_system hdf5_hl hdf5 m\        opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs