ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Opencv-GPU 编译错误 CUDA_nppicom_LIBRARY (ADVANCED) 未定义

2021-07-21 17:03:56  阅读:1242  来源: 互联网

标签:OFF 未定义 nppicom LIBRARY OPENCV CUDA ANACONDA BUILD


问题出现描述

  • Opencv : 4.3
  • CUDA: 11.1
  • Ubuntu 18.04

编译支持CUDA的OpenCV, CMake命令和报错内容如下:

cmake \
-D INCLUDE_DIRS=${OPENCV_INCLUDE_DIR_ANACONDA} $INCLUDE_DIRS \
-D LIBRARY_DIRS=$OPENCV_LIBRARY_ANACONDA $LIBRARY_DIRS \
-D BUILD_PYTHON_SUPPORT=ON \
-D BUILD_DOCS=ON \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_TESTS=OFF \
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv \
-D OPENCV_EXTRA_MODULES_PATH=/home/timber/Library/opencv_contrib/modules \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_python2=OFF \
-D PYTHON3_EXECUTABLE=${OPENCV_PYTHON_EXECUTABLE_ANACONDA} \
-D PYTHON3_INCLUDE_DIR=${OPENCV_INCLUDE_DIR_ANACONDA} \
-D PYTHON3_PACKAGES_PATH=${OPENCV_PACKAGE_ANACONDA} \
-D BUILD_EXAMPLES=OFF \
-D WITH_GTK=ON \
-D WITH_GTK_2_X=ON \
-D WITH_IPP=ON \
-D BUILD_TIFF=ON \
-D BUILD_opencv_cvv=OFF \
-D INSTALL_CREATE_DISTRIB=ON \
-D WITH_FFMPEG=ON \
-D WITH_GSTREAMER=ON \
-D WITH_V4L=ON \
-D WITH_LIBV4L=ON \
-D WITH_TBB=ON \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D WITH_CUDA=ON \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
-D CMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs \
-D CUDA_ARCH_BIN="8.6" \
-D CUDA_ARCH_PTX="" \
-D WITH_CUBLAS=ON \
-D WITH_NVCUVID=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D CMAKE_BUILD_TYPE=Release \
..

其中一些变量是python是虚拟环境相关的,在激活虚拟环境后运行如下命令获得,编译时取消激活防止库冲突。

OPENCV_PYTHON_EXECUTABLE_ANACONDA=$(which python${PYTHON_VERSION}) && \
OPENCV_INSTALL_PATH=$(python -c "import sys; print(sys.prefix)") && \
OPENCV_INCLUDE_DIR_ANACONDA=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") && \
OPENCV_PACKAGE_ANACONDA=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") && \
OPENCV_LIBRARY_ANACONDA=$(python -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))")

报错内容如下:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_nppicom_LIBRARY (ADVANCED)

解决办法

cmake \
-D INCLUDE_DIRS=${OPENCV_INCLUDE_DIR_ANACONDA} $INCLUDE_DIRS \
-D LIBRARY_DIRS=$OPENCV_LIBRARY_ANACONDA $LIBRARY_DIRS \
-D BUILD_PYTHON_SUPPORT=ON \
-D BUILD_DOCS=ON \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_TESTS=OFF \
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv \
-D OPENCV_EXTRA_MODULES_PATH=/home/timber/Library/opencv_contrib/modules \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_python2=OFF \
-D PYTHON3_EXECUTABLE=${OPENCV_PYTHON_EXECUTABLE_ANACONDA} \
-D PYTHON3_INCLUDE_DIR=${OPENCV_INCLUDE_DIR_ANACONDA} \
-D PYTHON3_PACKAGES_PATH=${OPENCV_PACKAGE_ANACONDA} \
-D BUILD_EXAMPLES=OFF \
-D WITH_GTK=ON \
-D WITH_GTK_2_X=ON \
-D WITH_IPP=ON \
-D BUILD_TIFF=ON \
-D BUILD_opencv_cvv=OFF \
-D INSTALL_CREATE_DISTRIB=ON \
-D WITH_FFMPEG=ON \
-D WITH_GSTREAMER=ON \
-D WITH_V4L=ON \
-D WITH_LIBV4L=ON \
-D WITH_TBB=ON \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D WITH_CUDA=ON \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
-D CMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs \
-D CUDA_ARCH_BIN="8.6" \
-D CUDA_ARCH_PTX="" \
-D WITH_CUBLAS=ON \
-D WITH_NVCUVID=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D CMAKE_BUILD_TYPE=Release \
-D CUDA_nppicom_LIBRARY=true \
..

结果:

标签:OFF,未定义,nppicom,LIBRARY,OPENCV,CUDA,ANACONDA,BUILD
来源: https://www.cnblogs.com/geoffreyone/p/15040308.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有