【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,不包含该函数,所以报错。

在最新版本中莫名的冒出这样一个坑,也是醉了~——~!

 

你可能感兴趣的:(Opencv)