博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决“fatal error: dynlink_nvcuvid.h: 没有那个文件或目录#include <dynlink_nvcuvid.h>“问题
阅读量:4127 次
发布时间:2019-05-25

本文共 2000 字,大约阅读时间需要 6 分钟。

问题描述

系统:Ubuntu18.04

安装OpenCV 3.4.0

报错:

In file included from /home/zpj/CLionProjects/linuxidcbuild/modules/cudacodec/opencv_cudacodec_pch_dephelp.cxx:1:0:/home/zpj/CLionProjects/opencv-3.4.0/modules/cudacodec/src/precomp.hpp:60:18: fatal error: dynlink_nvcuvid.h: 没有那个文件或目录         #include 
^~~~~~~~~~~~~~~~~~~compilation terminated.modules/cudacodec/CMakeFiles/opencv_cudacodec_pch_dephelp.dir/build.make:62: recipe for target 'modules/cudacodec/CMakeFiles/opencv_cudacodec_pch_dephelp.dir/opencv_cudacodec_pch_dephelp.cxx.o' failedmake[2]: *** [modules/cudacodec/CMakeFiles/opencv_cudacodec_pch_dephelp.dir/opencv_cudacodec_pch_dephelp.cxx.o] Error 1CMakeFiles/Makefile2:7429: recipe for target 'modules/cudacodec/CMakeFiles/opencv_cudacodec_pch_dephelp.dir/all' failedmake[1]: *** [modules/cudacodec/CMakeFiles/opencv_cudacodec_pch_dephelp.dir/all] Error 2Makefile:162: recipe for target 'all' failedmake: *** [all] Error 2

如图所示:

原因:

系统安装的CUDA10中没有dynlink_nvcuvid.h文件

 

解决办法

1.下载NVIDIA-SDK,下载地址

https://developer.nvidia.com/designworks/video_codec_sdk/downloads/v8.2-ga2

下载完成之后解压缩,文件路径Video_Codec_SDK_8.2.16->Samples->NvCodec->NvDecoder,将其中的nvcuvid.h, cuviddec.h连个文件copy到/usr/local/cuda/include/中,终端中输入指令

sudo mv nvcuvid.h /usr/local/cuda/includesudo mv cuviddec.h /usr/local/cuda/include

2.终端中输入指令进入报错提醒的文件目录中

cd /home/zpj/CLionProjects/opencv-3.4.0/modules/cudacodec/src/

终端中输入指令

vim precomp.hpp

将文件中的

#if CUDA_VERSION >= 9000        #include 
#else #include
#endif

改为

#if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000         #include 
#else #include
#endif

 

或者将nvcuvid.h文件copy到modules/cudacodec/src/下, 同时将上面代码改为

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

在modules/cudacodec/src/precomp.hpp文件报错并修改之后,后续还有四个文件报错,依次是cuvid_video_source.hpp/frame_queue.hpp/video_decoder.hpp/video_parser.hpp,解决方法同上,然后就可以继续编译了

编译成功

 

参考博文

转载地址:http://prrpi.baihongyu.com/

你可能感兴趣的文章
DLL中建立进程共享数据段需要注意的语法问题
查看>>
服务器端技术----Http请求的处理过程
查看>>
C语言-预处理指令2-条件编译
查看>>
C语言-预处理指令3-文件包含
查看>>
C语言-变量类型
查看>>
C语言-static和extern关键字1-对函数的作用
查看>>
C 语言-static和extern关键字2-对变量的作用
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
还不会正则表达式?看这篇!
查看>>
100道+ JavaScript 面试题,助你查漏补缺
查看>>
JavaScript深入理解之闭包
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>
【web素材】02-10款大气的购物商城网站模板
查看>>
6种方式实现JavaScript数组扁平化(flat)方法的总结
查看>>
如何实现a===1 && a===2 && a===3返回true?
查看>>
49个在工作中常用且容易遗忘的CSS样式清单整理
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>
隐藏搜索框:CSS 动画正反向序列
查看>>