undefined reference to `cv::calcOpticalFlowFarneback'

  因为calcOpticalFlowFarneback函数是包含于<opencv2/video/trating.hpp>的,而caffe工程一般调试的opencv不包含video的头文件,所以,由此引出当编译报出此类跟opencv video库相关的问题时解决方法。

  1.Qt调试caffe工程,编译报出此类错误信息时,按照以下方法解决:

打开Denpendencies.cmake然后找到Opencv库中按照下列方法添加video
 

# ---[ OpenCV
if(USE_OPENCV)
  find_package(OpenCV QUIET COMPONENTS core highgui imgproc imgcodecs video)

2.终端编译caffe方式编译报出此类错误

1)打开MakeFile(注意不是MakeFile.config),如下方式添加opencv_videoio,然后一定要先make clean,再重新make all,一般情况按照如下方式即能成功;如果还是报错,继续第二步操作

ifeq ($(USE_OPENCV), 1)
	LIBRARIES += opencv_core opencv_highgui opencv_imgproc

	ifeq ($(OPENCV_VERSION), 3)
		LIBRARIES += opencv_imgcodecs opencv_videoio
	endif
		
endif

2)打开MakeFile.config,将USE_PKG_CONFIG := 1前的注释符"#"去除,再make clean, make all

# Uncomment to use `pkg-config` to specify OpenCV library paths.
# (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
USE_PKG_CONFIG := 1

猜你喜欢

转载自blog.csdn.net/Suan2014/article/details/81777355