opencv安装中报错:
fatal error: dynlink_nvcuvid.h: 没有那个文件或目录
原因:
cuda10 中不再提供 dynlink_nvcuvid.h
解决方法参考:博客
出错在modules/cudacodec/src/precomp.hpp
但其中的 nvidia-sdk无法下载,而另一篇博客所给的地址也无法下载,最终在这篇博客中下载到了 nvidia-sdk
在 Video_Codec_SDK_9.0.20/include 文件夹下将 cuviddec.h 和nvcuvid.h两个文件copy到出问题的“~/source/opencv-3.4.1/modules/cudacodec/src”文件夹下。将报错的文件precomp.hpp中的:
#if CUDA_VERSION >= 9000
#include <dynlink_nvcuvid.h>
#else
#include <nvcuvid.h>
#endif
更改为
#if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000
#include <dynlink_nvcuvid.h>
#else
#include "nvcuvid.h"
#endif
紧接着还会陆续报同样的错误,需要将cuvid_video_source.hpp、frame_queue.hpp、
video_decoder.hpp和video_parser.hpp文件以同样的方式更改。再编译!通过!