【问题标题】:Compilation of OpenCV v4.5.1 using CMake on NVIDIA GTX 1660 Super / Windows10在 NVIDIA GTX 1660 Super / Windows10 上使用 CMake 编译 OpenCV v4.5.1
【发布时间】:2023-01-13 06:54:57
【问题描述】:

我正在尝试使用 CMake 为我的 1660 Super 编译 OpenCV v4.5.1。我已经按照 NVIDIA 网站上的说明安装了 CUDA Toolkit v12.0 和 CUDNN v8.7.0.84。作为记录,我正在按照these 的说明进行操作。

我使用自己的Anaconda Python3.10 解释器,在使用CMake 的配置工具时遇到以下错误。

CMake Error at modules/dnn/CMakeLists.txt:39 (message):
  DNN: CUDA backend requires cuDNN.  Please resolve dependency or disable
  OPENCV_DNN_CUDA=OFF


Registering hook 'INIT_MODULE_SOURCES_opencv_dnn': C:/Users/testbench/ocv/opencv/modules/dnn/cmake/hooks/INIT_MODULE_SOURCES_opencv_dnn.cmake
opencv_dnn: filter out cuda4dnn source code
rgbd: CERES support is disabled. Ceres Solver is Required for Posegraph optimization
CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message):
  CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install
  directory
Call Stack (most recent call first):
  CMakeLists.txt:985 (include)

如果我可以提供更多信息来帮助调试,请告诉我。

【问题讨论】:

  • 您是否在第 5 步中传递了与指令完全相同的命令行参数?我认为您应该在输出中显示更多上下文。我希望您添加的部分上方有更多信息。
  • (1) 更新到 4.7.0 (2) 调查为什么 cmake(cmakefile)找不到 cuDNN
  • 嗨@drescherjm 我正在使用 CMake GUI,这就是为什么我没有显示其余细节的原因。

标签: c++ opencv cmake cuda nvidia


【解决方案1】:

经过一些故障排除后,这似乎是解决方案:

  1. NVIDIA官方说明要求我将CUDNN文件的libbininclude文件夹复制到C:Program FilesNVIDIACUDNN8.7中。
  2. 我现在已经将各自的libbininclude文件夹复制到安装CUDA的位置C:Program FilesNVIDIA Computing ToolkitCUDA12.0

    由此,我在 CMake GUI 中得到以下行:

    Found CUDNN: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.0/lib/x64/cudnn.lib
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 2020-11-17
    • 1970-01-01
    • 2016-02-18
    • 2020-07-31
    • 1970-01-01
    • 2013-01-14
    相关资源
    最近更新 更多