Opencv3.2安装关于CUDA的问题

之前已经安装过的opencv3.2.0+opencv-contrib3.2.0想安装在另一个地方结果出现错误了,明明什么都没改变过,只能硬着头皮改错误了。(后来发现是因为CUDA造成的)

最开始从CMakeError.log文件中得知有如下错误:(这个错误一直都在CMakeError.log中记录,但是似乎不是主要原因,而且编译的终端里没有显示这个错误,不太清楚是不是必须要修改这个错误)

opencv-3.2.0/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:10: 
fatal error: sys/videoio.h: No such file or directory

参考链接:https://stackoverflow.com/questions/45582565/opencv-cmake-error-no-such-file-or-directory-on-ubuntu

在终端显示了如下错误:

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_nppi_LIBRARY (ADVANCED)
linked by target “opencv_cudev” in directory D:/Cproject/opencv/opencv/sources/modules/cudev
linked by target “opencv_cudev” in directory D:/Cproject/opencv/opencv/sources/modules/cudev
linked by target “opencv_test_cudev” in directory D:/Cproject/opencv/opencv/sources/modules/cudev/test

这篇博客很好的解决了这个问题:https://blog.csdn.net/u014613745/article/details/78310916
博主解释:引起错误的主要原因是cuda9不再支持2.0架构。(恍然大悟,近期刚更换了NVIDA显示驱动,下载了新版本的CUDA,查看了自己的CUDA版本为10.1.1243,更新前用的是系统自带的Nouveau显示驱动,而且没有下载或更新CUDA,所以之前编译没错误)NIVIDA官方cuda下载
CUDA_VERSION
nvcc fatal : Unsupported gpu architecture 'compute_20’错误
在这里插入图片描述
找到cmake/OpenCVDetectCUDA.cmake文件

修改
set(__cuda_arch_bin "2.0 3.0 3.5 3.7 5.0 5.2 6.0 6.1") 
为
set(__cuda_arch_bin "3.0 3.5 3.7 5.0 5.2 6.0 6.1") 

参考链接:https://www.twblogs.net/a/5b7ecca02b717767c6abdf22(这位碰到了很多类似问题,因此总结的比较全面)

也可以利用cmake-gui,在gui中修改,参考链接:https://blog.csdn.net/Sanviolet/article/details/79081363

然后可以顺利编译了,但是花了很长时间,而且有一大堆与cudev相关的警告。(用起来会不会有问题待定~)
对于这些警告,有人是这么解释的:shfl without sync causes a warning in CUDA 9.2, but shfl with sync causes an error in CUDA 8.0
在这里插入图片描述
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值