I follow the tutorial here https://www.pyimagesearch.com/2020/02/03/how-to-use-opencvs-dnn-module-with-nvidia-gpus-cuda-and-cudnn/
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_ENABLE_NONFREE=ON -D WITH_CUDA=ON -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D CUDA_ARCH_BIN=7.0 -D WITH_CUBLAS=1 -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules -D HAVE_opencv_python3=ON -D PYTHON_EXECUTABLE=~/.virtualenvs/opencv_cuda/bin/python -D BUILD_EXAMPLES=ON..
It builds successfully.
But when I make the project
make -j6
It reports error modules/videoio/CMakeFiles/opencv_videoio.dir/build.make:326: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_v4l.cpp.o' failed make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_v4l.cpp.o] Error 1 CMakeFiles/Makefile2:8448: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/all' failed make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2 Makefile:162: recipe for target 'all' failed
[ 19%] Built target ade
[ 19%] Built target opencv_videoio_plugins
[ 19%] Built target opencv_cudev
[ 22%] Built target opencv_core
[ 25%] Built target opencv_imgproc
[ 26%] Built target opencv_imgcodecs
[ 26%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_v4l.cpp.o
In file included from /home/cv001/opencv/modules/videoio/src/cap_v4l.cpp:240:0:
/usr/include/aarch64-linux-gnu/sys/videoio.h:71:22: error: redeclaration of ‘CV_CAP_ANY’
CV_CAP_ANY =0, // autodetect
^
In file included from /home/cv001/opencv/modules/videoio/src/precomp.hpp:46:0,
from /home/cv001/opencv/modules/videoio/src/cap_v4l.cpp:212:
/home/cv001/opencv/modules/videoio/include/opencv2/videoio/legacy/constants_c.h:10:5: note: previous declaration ‘<unnamed enum> CV_CAP_ANY’
CV_CAP_ANY =0, // autodetect
^~~~~~~~~~
In file included from /home/cv001/opencv/modules/videoio/src/cap_v4l.cpp:240:0:
/usr/include/aarch64-linux-gnu/sys/videoio.h:73:22: error: redeclaration of ‘CV_CAP_MIL’
CV_CAP_MIL =100, // MIL proprietary drivers
^~~
In file included from /home/cv001/opencv/modules/videoio/src/precomp.hpp:46:0,
from /home/cv001/opencv/modules/videoio/src/cap_v4l.cpp:212:
/home/cv001/opencv/modules/videoio/include/opencv2/videoio/legacy/constants_c.h:12:5: note: previous declaration ‘<unnamed enum> CV_CAP_MIL’
CV_CAP_MIL =100, // MIL proprietary drivers
^~~~~~~~~~
In file included from /home/cv001/opencv/modules/videoio/src/cap_v4l.cpp:240:0:
/usr/include/aarch64-linux-gnu/sys/videoio.h:75:22: error: redeclaration of ‘CV_CAP_VFW’
CV_CAP_VFW =200, // platform native
^~~
In file included from /home/cv001/opencv/modules/videoio/src/precomp.hpp:46:0,
from /home/cv001/opencv/modules/videoio/src/cap_v4l.cpp:212:
/home/cv001/opencv/modules/videoio/include/opencv2/videoio/legacy/constants_c.h:14:5: note: previous declaration ‘<unnamed enum> CV_CAP_VFW’
CV_CAP_VFW =200, // platform native
^~~~~~~~~~
In file included from /home/cv001/opencv/modules/videoio/src/cap_v4l.cpp:240:0:
/usr/include/aarch64-linux-gnu/sys/videoio.h:76:22: error: redeclaration of ‘CV_CAP_V4L’
CV_CAP_V4L =200,
^~~
In file included from /home/cv001/opencv/modules/videoio/src/precomp.hpp:46:0,
from /home/cv001/opencv/modules/videoio/src/cap_v4l.cpp:212:
/home/cv001/opencv/modules/videoio/include/opencv2/videoio/legacy/constants_c.h:15:5: note: previous declaration ‘<unnamed enum> CV_CAP_V4L’
CV_CAP_V4L =200,
^~~~~~~~~~
In file included from /home/cv001/opencv/modules/videoio/src/cap_v4l.cpp:240:0:
/usr/include/aarch64-linux-gnu/sys/videoio.h:77:22: error: redeclaration of ‘CV_CAP_V4L2’
CV_CAP_V4L2 =200,
I completely remove the opencv related file. And it makes successfully now. Don't know why though.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.