嗨,我之前在我的主机或几个基于arm的系统上编译过几次opencv。由于所有你现在基于arm的系统编译opencv需要更长的时间,所以我使用Quemu将x86处理器虚拟化为arm64,并从nvidia dochub页面拉出了nvidia jetpack。我使用的是"nvcr.io/nvidia/l4t-base“,所以我有基于aarch64的docker环境。
当我在这个docker环境中执行基本的cmake配置时。
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D WITH_CUDA=ON \
-D CUDA_ARCH_BIN=6.2 \
-D CUDA_ARCH_PTX="" \
-D ENABLE_FAST_MATH=ON \
-D CUDA_FAST_MATH=ON \
-D WITH_CUBLAS=ON \
-D WITH_LIBV4L=ON \
-D WITH_GSTREAMER=ON \
-D WITH_GSTREAMER_0_10=OFF \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=/../opencv3/opencv_contrib-3.4.9/modules \
-D CPACK_BINARY_DEB=ON \
../我附加了以下错误日志。但是基本上它会显示“致命错误: sys/videoio.h:没有这样的文件或目录”,所以我之前得到了videdev.h错误,但我解决了安装v4l包的问题。
有趣的是,当我只给cmake的时候..它可以工作并安装opencv,但默认配置为conf。没有cuda和额外的lib选项。当我在"cmake ..“之后检查时命令在日志文件中仍然有相同的致命错误,即使我看到配置已经完成。
我想不出这个错误。即使它显示与默认的cmake命令相同的错误,但配置已经完成。当我应用cuda配置时,它显示相同的错误,但配置无法完成。我完全确定cmake有任何错误的参数,因为我在我的jetson tx2上使用了它,它工作得很完美。
你有什么想法吗?顺便说一句,nvidia docker有10.2cuda支持,我用nvcc -V命令检查过,也许在docker环境中,无法编译支持cuda的opencv,或者我应该以不同的方式启动cuda支持的docker容器?
错误日志:https://paste.ubuntu.com/p/w9hjBxqJ6D/
输出日志:https://paste.ubuntu.com/p/rqsvq356dR/
下面是另一个输出
linked by target "opencv_annotation" in directory /opencv3/opencv-3.4.9/apps/annotation
linked by target "opencv_visualisation" in directory /opencv3/opencv-3.4.9/apps/visualisation
linked by target "opencv_interactive-calibration" in directory /opencv3/opencv-3.4.9/apps/interactive-calibration
linked by target "opencv_version" in directory /opencv3/opencv-3.4.9/apps/version
CUDA_nppist_LIBRARY (ADVANCED)
linked by target "opencv_cudev" in directory /opencv3/opencv-3.4.9/modules/cudev
linked by target "opencv_cudev" in directory /opencv3/opencv-3.4.9/modules/cudev
linked by target "opencv_test_cudev" in directory /opencv3/opencv-3.4.9/modules/cudev/test
linked by target "opencv_test_core" in directory /opencv3/opencv-3.4.9/modules/core
linked by target "opencv_perf_core" in directory /opencv3/opencv-3.4.9/modules/core
linked by target "opencv_core" in directory /opencv3/opencv-3.4.9/modules/core
linked by target "opencv_core" in directory /opencv3/opencv-3.4.9/modules/core
linked by target "opencv_test_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
linked by target "opencv_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
linked by target "opencv_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
linked by target "opencv_perf_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
linked by target "opencv_flann" in directory /opencv3/opencv-3.4.9/modules/flann
linked by target "opencv_flann" in directory /opencv3/opencv-3.4.9/modules/flann
linked by target "opencv_test_flann" in directory /opencv3/opencv-3.4.9/modules/flann
linked by target "opencv_perf_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
linked by target "opencv_test_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
linked by target "opencv_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
linked by target "opencv_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
linked by target "opencv_test_ml" in directory /opencv3/opencv-3.4.9/modules/ml
linked by target "opencv_ml" in directory /opencv3/opencv-3.4.9/modules/ml
linked by target "opencv_ml" in directory /opencv3/opencv-3.4.9/modules/ml
linked by target "opencv_video" in directory /opencv3/opencv-3.4.9/modules/video
linked by target "opencv_video" in directory /opencv3/opencv-3.4.9/modules/video
linked by target "opencv_perf_video" in directory /opencv3/opencv-3.4.9/modules/video
linked by target "opencv_test_video" in directory /opencv3/opencv-3.4.9/modules/video
linked by target "opencv_test_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
linked by target "opencv_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
linked by target "opencv_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
linked by target "opencv_perf_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
linked by target "opencv_test_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
linked by target "opencv_perf_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
linked by target "opencv_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
linked by target "opencv_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
linked by target "opencv_test_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
linked by target "opencv_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
linked by target "opencv_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
linked by target "opencv_perf_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
linked by target "opencv_test_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
linked by target "opencv_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
linked by target "opencv_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
linked by target "opencv_perf_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
linked by target "opencv_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
linked by target "opencv_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
linked by target "opencv_perf_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
linked by target "opencv_test_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
linked by target "opencv_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
linked by target "opencv_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
linked by target "opencv_perf_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
linked by target "opencv_test_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
linked by target "opencv_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
linked by target "opencv_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
linked by target "opencv_perf_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
linked by target "opencv_test_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
linked by target "opencv_test_photo" in directory /opencv3/opencv-3.4.9/modules/photo
linked by target "opencv_photo" in directory /opencv3/opencv-3.4.9/modules/photo
linked by target "opencv_photo" in directory /opencv3/opencv-3.4.9/modules/photo
linked by target "opencv_perf_photo" in directory /opencv3/opencv-3.4.9/modules/photo
linked by target "opencv_test_shape" in directory /opencv3/opencv-3.4.9/modules/shape
linked by target "opencv_shape" in directory /opencv3/opencv-3.4.9/modules/shape
linked by target "opencv_shape" in directory /opencv3/opencv-3.4.9/modules/shape
linked by target "opencv_test_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
linked by target "opencv_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
linked by target "opencv_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
linked by target "opencv_perf_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
linked by target "opencv_calib3d" in directory /opencv3/opencv-3.4.9/modules/calib3d
linked by target "opencv_calib3d" in directory /opencv3/opencv-3.4.9/modules/calib3d
linked by target "opencv_perf_stitching" in directory /opencv3/opencv-3.4.9/modules/stitching
linked by target "opencv_test_superres" in directory /opencv3/opencv-3.4.9/modules/superres
linked by target "opencv_superres" in directory /opencv3/opencv-3.4.9/modules/superres
linked by target "opencv_superres" in directory /opencv3/opencv-3.4.9/modules/superres
linked by target "opencv_perf_superres" in directory /opencv3/opencv-3.4.9/modules/superres
linked by target "opencv_test_videostab" in directory /opencv3/opencv-3.4.9/modules/videostab
linked by target "opencv_videostab" in directory /opencv3/opencv-3.4.9/modules/videostab
linked by target "opencv_videostab" in directory /opencv3/opencv-3.4.9/modules/videostab
linked by target "opencv_traincascade" in directory /opencv3/opencv-3.4.9/apps/traincascade
linked by target "opencv_createsamples" in directory /opencv3/opencv-3.4.9/apps/createsamples
linked by target "opencv_annotation" in directory /opencv3/opencv-3.4.9/apps/annotation
linked by target "opencv_visualisation" in directory /opencv3/opencv-3.4.9/apps/visualisation
linked by target "opencv_interactive-calibration" in directory /opencv3/opencv-3.4.9/apps/interactive-calibration
linked by target "opencv_version" in directory /opencv3/opencv-3.4.9/apps/versionLats Progress:当我删除
-DOPENCV_EXTRA_MODULES_PATH=$HOME/opencv_contrib-3.4.9/modules \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
-DCUDA_ARCH_BIN=6.2 \
-DCUDA_ARCH_PTX="" \ 和配置完成,但我仍然需要cuda和额外的库
发布于 2020-07-29 16:54:19
解决了启动docker镜像主机Cuda组件和cmake conf的问题。工具包的目录。重要的一点是,如果容器附带了不同版本的Cuda,则不应该使用它。
使用主机cuda并提供主机cuda组件目录或将它们复制到docker中
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0 \https://stackoverflow.com/questions/63121195
复制相似问题