已解决Makefile:162:recipe for target ‘all‘ failed

安装opencv时make -j8命令后报错:
在这里插入图片描述往上翻一下错误,看到:
在这里插入图片描述

解决方案:

参考了两篇博客(最后会附上链接),我的步骤如下:

  • 下载Video_Codec_SDK9.1.23

  • 解压后,进入文件夹,将nvcuvid.h 、cuviddec.h复制 到 /usr/local/cuda/include/
    使用复制语句:
    sudo cp nvcuvid.h /usr/local/cuda/include/
    sudo cp cuviddec.h /usr/local/cuda/include/

  • 将/home/tcy/下载/opencv-3.4.0/modules/cudacodec/src/precomp.hpp中的:

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

改为:

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

接下来cuvid_video_source.hpp、frame_queue.hpp、video_decoder.hpp、video_parser.hpp也需要如此修改一下代码。

参考博客:
1、OpenCV CUDA 10 安装 dynlink_nvcuvid.h 问题解决方法
2、OpenCV 4.1 CUDA 10.1 linux下编译问题【fatal error: nvcuvid.h: No such file or directory】

附在最后:实在对不起大家,Video_Codec_SDK9.1.23的百度网盘的资源我不知道啥时候给删掉了。。。。(哭)。

猜你喜欢

转载自blog.csdn.net/qq_42622871/article/details/105981670