原因:

       cuda10 does not provide dynlink_nvcuvid.h any more.

解决方法:

      查看出错在modules/cudacodec/src/precomp.hpp

    #if CUDA_VERSION >= 9000
        #include <dynlink_nvcuvid.h>
    #else
        #include <nvcuvid.h>
    #endif

     所以可以用头文件nvcuvid.h

     下载 nvidia-sdk 将其中的 nvcuvid.h copy 到 /usr/local/cuda/include/,同时将上面的代码改为

    #if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000 
        #include <dynlink_nvcuvid.h>
    #else
        #include <nvcuvid.h>
    #endif

    或者copy到modules/cudacodec/src/下, 同时将上面代码改为:

    #if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000 
        #include <dynlink_nvcuvid.h>
    #else
        #include "nvcuvid.h"
    #endif

ref:

  • https://github.com/opencv/opencv/issues/9544
  • https://aur.archlinux.org/packages/opencv-cuda/

相关文章:

  • 2021-10-25
  • 2021-11-28
  • 2022-12-23
  • 2021-04-24
  • 2023-01-07
  • 2021-05-10
  • 2022-01-01
  • 2021-06-15
猜你喜欢
  • 2021-05-25
  • 2021-12-30
  • 2021-10-05
  • 2021-12-30
  • 2021-12-04
  • 2022-12-23
相关资源
相似解决方案