1. 程式人生 > >除錯人臉識別 無cpu版本出現的問題

除錯人臉識別 無cpu版本出現的問題

問題1:

./start: symbol lookup error: ./libFaceAgeGender.so: undefined symbol: _ZN2cv17CascadeClassifier4loadERKSs

解決方法:

把opencv 人臉檢測的部分執行 出現錯誤:
 undefined symbol: _ZN2cv6imreadERKSsi

解決方法: 把人臉檢測額的程式碼在本地的機器上編譯一下 就可以了。

看來不能執行的問題也應該是在本地上編譯一下就能解決了。

想著可能是需要把Testso 下面的檔案make一遍 就能解決這葛問題

但是make 不過去 出現的問題是:

g++  -I /home/lxbot/face_detection_gender/Project_Face/opencv248/include -I /home/lxbot/face_detection_gender/Project_Face/opencv248/include/opencv -I /home/lxbot/face_detection_gender/Project_Face/opencv248/include/opencv2 -o start main.o -L /home/lxbot/face_detection_gender/caffelib -llmdb  -lleveldb -lcaffe  -lcublas -lcudart -lcurand -lboost_system -lboost_thread -lcudnn  -lFaceAgeGender  -luctools -lprotobuf -lopencv_flann -lopencv_video -lopencv_features2d -lopencv_objdetect -lopencv_core -lopencv_imgproc -lopencv_highgui -lhdf5 -lglog -lhdf5_hl #
/home/lxbot/face_detection_gender/caffelib/libFaceAgeGender.so: undefined reference to `Ctools_Init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int)'
/home/lxbot/face_detection_gender/caffelib/libFaceAgeGender.so: undefined reference to `Ctools_ClassifyAndFeaExtract(void*, unsigned char*, int, int, int, CTOOLS_Result*, double*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void (*)(float*, int, int, int, int))'
/home/lxbot/face_detection_gender/caffelib/libFaceAgeGender.so: undefined reference to `cv::CascadeClassifier::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
Makefile:18: recipe for target 'start' failed
make: *** [start] Error 1

猜測出現這個問題的原因是:

在libFaceAgeGender.so 連結的ldd libFaceAgeGender.so 的opencv 使用的版本是2.4.8 

但是ldd 發現