报错信息
Found NVCUVID: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/lib/x64/nvcuvid.lib
Found NVCUVENC: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/lib/x64/nvencodeapi.lib
CUDA detected: 11.8
CMake Error at cmake/OpenCVDetectCUDAUtils.cmake:297 (list):
list GET given empty list
Call Stack (most recent call first):
cmake/OpenCVDetectCUDA.cmake:76 (ocv_set_cuda_arch_bin_and_ptx)
cmake/OpenCVFindLibsPerf.cmake:46 (include)
CMakeLists.txt:812 (include)
问题分析
OpenCV的CMake脚本,已经检测到我安装的cuda11.8,在检测cuda支持的架构时未能获取到有效值,导致列表为空,因此我们需要手动设定cuda架构。
解决方法
去官网查找显卡的计算能力(笔记本30系为8.6),添加cuda架构
如果在终端cmake,可以添加
-D CUDA_ARCH_BIN=8.6 -D CUDA_ARCH_PTX=8.6
如果使用cmake-gui,可以在configure后,点击add entry, name 分别输入CUDA_ARCH_BIN、CUDA_ARCH_PTX,type选择string,value输入你的显卡计算能力