【Ubuntu-opencv3.4.0-Error】對‘cv::Mat::updateContinuityFlag()’未定義的引用

/path/libTrackKcf.a(kcftracker.cpp.o):在函數‘ot::KCFTracker::KCFTracker(bool, bool, bool, bool)’中:
kcftracker.cpp:(.text+0x673):對‘cv::Mat::updateContinuityFlag()’未定義的引用
/path/libTrackKcf.a(kcftracker.cpp.o):在函數‘ot::KCFTracker::getFeatures(cv::Mat const&, bool, float)’中:
kcftracker.cpp:(.text+0xb6fe):對‘cv::Mat::updateContinuityFlag()’未定義的引用
/path/libTrackKcf.a(tracker_fdsst.cpp.o):在函數‘ot::TrackerFDSST::getFeatures(cv::Mat const&, bool, float)’中:
tracker_fdsst.cpp:(.text+0x92c7):對‘cv::Mat::updateContinuityFlag()’未定義的引用
/path/libTrackKcf.a(tracker_fdsst.cpp.o):在函數‘ot::TrackerFDSST::get_scale_sample(cv::Mat const&)’中:
tracker_fdsst.cpp:(.text+0xa351):對‘cv::Mat::updateContinuityFlag()’未定義的引用
/path/libTrackKcf.a(fhog.cpp.o):在函數‘ot::fhog(cv::Mat const&, int, int, float, bool)’中:
fhog.cpp:(.text+0x380a):對‘cv::Mat::updateContinuityFlag()’未定義的引用
collect2: error: ld returned 1 exit status
CMakeFiles/my_hello_dlib.dir/build.make:164: recipe for target 'my_hello_dlib' failed
make[2]: *** [my_hello_dlib] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/my_hello_dlib.dir/all' failed
make[1]: *** [CMakeFiles/my_hello_dlib.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

找原因:

經查找,發現updateContinuityFlag函數只在opencv 3.4.2及其最新版本中存在,在其他版本的opencv中不存在該函數,由於我使用的lib庫是他人用最新版本中編譯生成,而我使用的則是opencv3.4.0,不包含該函數,所以報錯。

在最新版本中莫名的冒出這樣一個坑,也是醉了~——~!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章