opencv 3.4.9+opencv_contrib_3.4.9+cuda11.0 安装出错处理

opencv 3.4.9+opencv_contrib_3.4.9+cuda11.0 安装出错处理

出错处理:使用cmake-gui编译

1.错误:Unsupported gpu architecture ‘compute_30’

解决方法:

此时可以在配置的时候 CUDA_ARCH_BIN 选项去掉3.0,如下图所示:
在这里插入图片描述

2.错误: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)

解决方法:
因为cuda 11移除了nppicom库,在opencv-x.x.x/cmake/文件夹下,找到OpenCVDetectCUDA.cmake文件,找到下述if(CUDA_FOUND)的位置,在下面加上去掉nppicom的库的指令(行前有+号的)。

  ...
  if(CUDA_FOUND)
    set(HAVE_CUDA 1)
  endif() 
    #在此处加入如下内容:
    if(CUDA_VERSION VERSION_GREATER_EQUAL "11.0")
       ocv_list_filterout(CUDA_nppi_LIBRARY "nppicom")
	   ocv_list_filterout(CUDA_npp_LIBRARY "nppicom")
   endif()
   #-------------------------------------------------------------------------
   if(WITH_CUFFT)
  set(HAVE_CUFFT 1)
  ...

然后再次configure应该是没有错误了,不要着急点击 generate,先看看还需要增加什么,如果不需要增加,直接略过下一部分。

3.错误:fatal error: dynlink_nvcuvid.h: No such file or directory

解决方法:

#出错在: opencv的modules目录下
modules/cudacodec/src/precomp.hpp
modules/cudacodec/src/frame_queue.hpp
modules/cudacodec/src/cuvid_video_source.hpp
modules/cudacodec/src/video_decoder.hpp
modules/cudacodec/src/video_parser.hpp

首先下载 nvidia-sdk 将其中的 nvcuvid.h, cuviddec.h copy 到 /usr/local/cuda/include/,同时将上面几个hpp中代码

if CUDA_VERSION >= 9000  

改为: 
if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值