简体   繁体   中英

Compile Error OpenCV 4.2.0 Ubuntu 18.04: target 'modules/videoio/CMakeFiles/opencv_videoio.dir/all' failed make

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM