[转]OPENCV3.3+CUDA9.0 环境搭建若干错误总结
编译OpenCV设计启用OpenGL三维可视化支持和启用GPU CUDA并行加速处理的基本知识:
1、从2.4.2版本开始,OpenCV在可视化窗口中支持OpenGL,这就意味着在OpenCV中可以轻松的渲染任何3D内容。但是由于当前版本(OpenCV2.4.2)在默认情况下不支持OpenGL,也许在将来的OpenCV版本中会默认支持利用OpenGL进行三维可视化。所以在当前版本中需要手工开启支持OpenGL。这一点在利用CMake编译OpenCV时从字段“WITH_OPENGL”默认未被勾选可以得到证明。
2、新版本的OpenCV可以利用GPU CUDA并行加速数据和图像处理。官方公布的OpenCV二进制发行库默认不支持利用GPU CUDA并行加速。如果需要编译支持CUDA的OpenCV库时,如果编译计算机已经安装了CUDA驱动程序和OpenCV运行时,在利用CMake编译OpenCV时字段“WITH_CUDA”默认会被自动勾选上的。如果编译计算机未安装CUDA驱动程序和OpenCV运行时,CMake的字段“WITH_CUDA”默认就不会被自动勾选上。
上图中,是因为本人的计算机安装了CUDA6.5,故CMake会勾选上WITH_CUDA字段。
因为CUDA9.0的若干改动,在Window环境下编译opencv源码时会产生若干错误,先将错误整合如下:
1. Cmake生成vs工程文件发生错误如下:
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)
解决方案见:点击打开链接
2.Visual Studio工程文件错误如下:
cmd.exe exit with code 1
Cmake修改CUDA_HOST_COMPILER参数
类似于/vs2015/VC/bin/x86_amd64/cl.exe
原因好像是无法自动检测出compiler
3.Visual Studio工程文件错误:
C2610 等有关tuple的错误
Cmake去掉BUILD_PERF_TESTS和BUILD_TESTS
同时也可以减少编译源码时间。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理