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
查询方法1:
查询链接:https://developer.nvidia.com/cuda-gpus
查询方法2:

import torchif torch.cuda.is_available():major, minor = torch.cuda.get_device_capability()arch_bin = f"{major}.{minor}"print(arch_bin)
else:print("CUDA is not available.")

安装依赖:

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.mzph.cn/web/71637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K8s 1.27.1 实战系列(四)验证集群及应用部署测试

一、验证集群可用性 1、检查节点 kubectl get nodes ------------------------------------------------------ NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 3h48m v1.27.1 k8s-node1 Ready <none> …

【C++设计模式】第七篇:桥接模式(Bridge)

注意&#xff1a;复现代码时&#xff0c;确保 VS2022 使用 C17/20 标准以支持现代特性。 抽象与实现的解耦之道 1. 模式定义与用途​​ 核心思想​ ​桥接模式&#xff1a;将抽象部分与实现部分分离&#xff0c;使二者可以独立变化。​关键用途&#xff1a; ​1.拆分复杂继承…

在 Spring Boot 2.7.x 中引入 Kafka-0.9 的实践

文章目录 在 Spring Boot 2.7.x 中引入 Kafka-0.9 的实践一、下载 Kafka-0.9二、启动 Zookeeper 和 Kafka三、创建 Spring Boot 项目四、引入 kafka 依赖五、移除 Kafka 自动配置六、编写 Kafka 生产者6.1 Kafka配置类6.2 生产者监听类 七、编写Controller发送Kafka八、验证消费…

字符串中的数字之和

题目描述 程序要求能够提取输入的字符串中的数字&#xff0c;将数字累加&#xff0c;得到数字之和&#xff0c;如输入的字符串为"abc76wet23er1.",应该提取数字76,23,1,求和后&#xff0c;即76231100。 输入格式: 输入一个字符串&#xff0c;字符串长度不超过100.…

77.ObservableCollection使用介绍1 C#例子 WPF例子

可观察集合ObservableCollection using System; using System.Collections.ObjectModel;class Program {static void Main(){// 创建一个可观察集合ObservableCollection<string> list new ObservableCollection<string>();// 注册集合变化事件list.CollectionCh…

ORACLE 执行查询语句慢(不走对应索引)

1. 索引未被创建或未正确创建 确保为查询中涉及的列创建了索引。例如&#xff0c;如果你经常需要按column_name列进行查询&#xff0c;确保已经为该列创建了索引,索引创建语句 CREATE INDEX idx_column_name ON table_name(column_name); 2、索引不可用 原因:索引可能被标记为不…

r1-reasoning-rag:一种新的 RAG 思路

最近发现了一个开源项目&#xff0c;它提供了一种很好的 RAG 思路&#xff0c;它将 DeepSeek-R1 的推理能力结合 Agentic Workflow 应用于 RAG 检索 项目地址 https://github.com/deansaco/r1-reasoning-rag.git 项目通过结合 DeepSeek-R1、Tavily 和 LangGraph&#xff0c;实现…

服务器硬件配置统计

服务器型号和SN # dmidecode -t system | grep -E "Product Name|Serial Number" | awk -F: {print $2} PowerEdge R7515 4567CPU型号和物理CPU数量 echo "$(lscpu | grep "Model name" | cut -d : -f2 | sed s/^ *//) x $(lscpu | grep "Soc…

Hadoop、Spark、Flink Shuffle对比

一、Hadoop的shuffle 前置知识&#xff1a; Map任务的数量由Hadoop框架自动计算&#xff0c;等于分片数量&#xff0c;等于输入文件总大小 / 分片大小&#xff0c;分片大小为HDFS默认值128M&#xff0c;可调 Reduce任务数由用户在作业提交时通过Job.setNumReduceTasks(int)设…

Docker的常用镜像

Docker的常用镜像命令主要包括镜像的查看、搜索、拉取、删除、构建等操作&#xff0c;以下是综合多个来源的总结&#xff1a; 一、基础镜像操作 查看本地镜像 docker images• 显示所有本地镜像&#xff0c;包含仓库名&#xff08;REPOSITORY&#xff09;、标签&#xff08;TAG…

车载以太网测试-3【Wireshark介绍】

1 摘要 Wireshark 是一款开源的网络协议分析工具&#xff0c;广泛用于网络故障排查、协议分析、网络安全检测等领域。它能够捕获网络数据包&#xff0c;并以详细的、可读的格式显示这些数据包的内容。广泛应用于车载网络测试&#xff0c;是车载网络测试工程师必须掌握的工具。…

基于跨模态地图学习的视觉语言导航

前言 本工作开展的背景&#xff1a; 人类和其他物种构建类似地图的环境表示来完成寻路&#xff1a; &#xff08;1&#xff09;当人类只使用现成的驾驶或步行路径到达目标时&#xff0c;构建认知地图和获取空间知识的能力就会下降&#xff1b; &#xff08;2&#xff09;另…

nodejs关于后端服务开发的探究

前提 在当前的环境中关于web server的主流开发基本上都是java、php之类的&#xff0c;其中java spring系列基本上占了大头&#xff0c;而python之流也在奋起直追&#xff0c;但别忘了nodejs也是可以做这个服务的&#xff0c;只是位置有点尴尬&#xff0c;现在就来探究下nodejs…

Ubuntu20.04本地配置IsaacGym Preview 4的G1训练环境(一)

Ubuntu20.04本地配置IsaacGym Preview 4的G1训练环境 配置conda虚拟环境安装pytorch、cuda和cudnn安装IsaacGym Preview 4配置rsl_rl配置unitree_rl_gym配置unitree_sdk2py 写在前面&#xff0c;要求完成anaconda配置&#xff0c;若没完成&#xff0c;请参考本人其余博客&#…

RangeError: Maximum call stack size exceeded

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…

八卡5090服务器首发亮相!

AI 人工智能领域热度居高不下。OpenAI 的 GPT - 4 凭强悍语言处理能力&#xff0c;在内容创作、智能客服等领域广泛应用。清华大学团队的 DeepSeek 大模型在深度学习训练优势突出&#xff0c;正促使各行业应用端算力需求向推理主导转变&#xff0c;呈爆发式增长 。 随着 DeepS…

计算机视觉|Swin Transformer:视觉 Transformer 的新方向

一、引言 在计算机视觉领域的发展历程中&#xff0c;卷积神经网络&#xff08;CNN&#xff09; 长期占据主导地位。从早期的 LeNet 到后来的 AlexNet、VGGNet、ResNet 等&#xff0c;CNN 在图像分类、目标检测、语义分割等任务中取得了显著成果。然而&#xff0c;CNN 在捕捉全…

【Leetcode 每日一题】2597. 美丽子集的数目

问题背景 给你一个由正整数组成的数组 n u m s nums nums 和一个 正 整数 k k k。 如果 n u m s nums nums 的子集中&#xff0c;任意两个整数的绝对差均不等于 k k k&#xff0c;则认为该子数组是一个 美丽 子集。 返回数组 n u m s nums nums 中 非空 且 美丽 的子集数…

常见Web应用源码泄露问题

文章目录 前言一、常见的源码泄露漏洞git源码泄露SVN源码泄露DS_Store文件泄漏网站备份压缩文件泄露WEB-INF/web.xml泄露CVS泄露.hg源码泄露Bazaar/bzr泄露.swp文件泄露 前言 在Web应用方面对于安全来说&#xff0c;可能大家对SQL注入、XSS跨站脚本攻击、文件上传等一些漏洞已…

记录一次wifi版有人物联串口服务器调试经过

1、首先买了一个华为的wifi路由器&#xff0c;连接上以后&#xff0c;设置好网络名字和wifi密码 2、用网线连接串口服务器&#xff0c;通过192.168.1.1登录&#xff0c;进行配置 找到无线客户端配置&#xff0c;先在基本配置中打开5G配置&#xff0c;然后再去5.8G配置中设置 …