当前位置: 首页 > news >正文

ubuntu 20.04 C++ 源码编译 cuda版本 opencv4.5.0

前提条件是安装好了cuda和cudnn

点击下载:
opencv_contrib4.5.0
opencv 4.5.0
解压重命名后
进入opencv目录,创建build目录
“CUDA_ARCH_BIN= ?” 这里要根据显卡查询一下,我的cuda是11,显卡1650,所以是7.5
查询链接:https://developer.nvidia.com/cuda-gpus
安装依赖:

apt-get update
apt-get install build-essential cmake git pkg-config libgtk-3-dev \libavcodec-dev libavformat-dev libswscale-dev \libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev \libpng-dev libtiff-dev gfortran openexr \libatlas-base-dev \libtbb2 libtbb-dev libdc1394-22-dev libopenblas-dev \liblapacke-dev libhdf5-dev libprotobuf-dev protobuf-compiler

注意路径更改:

cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D WITH_TBB=ON \-D BUILD_TBB=ON \-D ENABLE_FAST_MATH=1 \-D CUDA_FAST_MATH=1 \-D WITH_CUBLAS=1 \-D WITH_V4L=ON \-D WITH_LIBV4L=ON \-D WITH_CUDA=ON \-D WITH_CUDNN=ON \-D WITH_CUDEV=ON \-D WITH_GTK_2_X=ON \-D WITH_NVCUVID=ON \-D CUDA_ARCH_BIN=7.5 \-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \-D WITH_OPENGL=ON \-D WITH_FFMPEG=ON \-D OPENCV_GENERATE_PKGCONFIG=YES \..

踩坑1:

认真观察会发现
在这里插入图片描述
打开看到的就是未下载的文件,需要下载后移动到对应位置。
在这里插入图片描述
压缩文件还能科学上网手动下载,但是.i文件我不知道怎么下载,因为按照网页访问会直接列出内容,我复制后,按照上面给的文件进行保存,又来一遍发现还是提示我未下载。最后是使用别人下载好的 .cache 文件,才编译成功的。
如果不缺文件的话就没有这个sh脚本。

踩坑2:

没加环境变量
使用方法二就成功了。

# 方法一
# 临时生效(仅当前终端)
# bash
# 复制
# # 假设库路径为 /usr/local/lib
# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH#方法二
# 永久生效
# bash
# 复制
# # 创建配置文件
# sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'# # 更新动态链接器缓存
# sudo ldconfig

开始编译:

make -j8

安装

make install

创建配置文件

sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

更新动态链接器缓存

ldconfig
http://www.lryc.cn/news/547450.html

相关文章:

  • 【VUE】第一期——初使用、基本语法
  • 计算光学成像与光学计算概论
  • 开启科创服务新篇章:八月瓜科技CRM数字化管理系统成功上线
  • AI提示词(Prompt)的理解和学习指南
  • 记录一些面试遇到的问题
  • OpenHarmony4.0_Linux环境搭建
  • DeepSeek开源Day5:3FSsmallpond技术详解
  • Java集合面试篇
  • plt和cv2有不同的图像表示方式和颜色通道顺序
  • Sqlserver安全篇之_手工创建TLS用到的pfx证书文件
  • 基于RapidOCR与DeepSeek的智能表格转换技术实践
  • 创建阿里云CDN
  • tomcat的web管理
  • 【Linux系统】-----进程初相识:原理与概念全解析
  • 分布式系统设计(架构能力)
  • 171. Excel 表列序号
  • 在 Java 中使用 Apache POI 为 Word 文档添加水印
  • 贪心算法二
  • 【大模型安全】大模型的技术风险
  • Java 线程池中 shutdown 与 shutdownNow 的区别是什么?
  • 基于Spring Boot的共享学习经验系统的设计与实现
  • 【简单的C++围棋游戏开发示例】
  • 单片机中的基础外设GPIO的知识和应用—(6)
  • 10-Agent循环分析新闻并输出总结报告
  • 十二、Redis Cluster(集群)详解:原理、搭建、数据分片与读写分离
  • 贪心算法解题框架+经典反例分析,效率提升300%
  • 策略设计模式-下单
  • Go加spy++隐藏窗口
  • React基础之tsx语法
  • 一体机:DeepSeek性能的“隐形枷锁”!