除錯人臉識別 無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 發現