记录第一次在windows环境编译libuvc库 踩的坑

最近遇到windows下编译libuvc库,实现经usb连接的摄像头拍摄采集。绕了一大圈,记录一下。
首先,作为新手,肯定需要参考大神资料,但是还是踩了坑。

要在windows 环境下安装libuvc的驱动并确保可用,需要经过一系列流程,
(1)先参考神人的博客记录呗
有关windows下libuvc的使用
https://blog.csdn.net/Arom_Corge/article/details/139241033
博客中详细记载了如下过程:
1)安装msys2
注意:此处下载完以后,安装时进度条容易卡在50%处不动,那么此处需要断网操作后继续安装,比如关闭WiFi或拔掉网线。
2) 安装更新
注意1:安装完msys2以后,关于更新
可以搜到电脑上有好多终端,到底在哪个终端上进行命令操作真的是需要注意
在这里插入图片描述
这里搜索到安装完msys2以后可以搜到多个终端端口,但是这边搜索到:
安装更新应该在 MSYS2 MSYS 终端,也就是
此处要打开MSYS2 MSYS 终端,运行 pacman -Syu去执行更新!

注意2:更新完后的全量软件包安装
语句
pacman -S base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-libusb mingw-w64-x86_64-cmake
在MSYS2 MINGW64 终端执行,因为这里面涉及到的工具链接是专门为MinGW64-bit 设计的。
在这里插入图片描述

3)下载libuvc
如果本地安装有git,可以运行如下语句下载

git clone https://github.com/libuvc/libuvc.git 

如果本地没有安装git,那就用浏览器进入网页下载zip到本地然后解压

https://github.com/libuvc/libuvc.git

如果网速不佳,git clone 失败还是要手动下载。

4) 编译libuvc
编译libuvc的终端平台是MSYS2 MINGW64
打开MSY2 MINGW64
cd 进入下载的libuvc 根目录下
命令新建build 文件夹并执行编译

mkdir build
cd build
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=$HOME/libuvc -DBUILD_SHARED_LIBS=ON ..


make
make install

(2)重新更新驱动
编译完libuvc库以后,为了经USB口驱动外接相机,还需要替换相机的驱动,使得usb接口的驱动相机,下载安装Zadig替换笔记本上原来的相机驱动。(如果是笔记本,替换驱动后,其自带相机有打不开的风险,具体恢复安装方法需要进一步研究)
下载网址:
https://zadig.akeo.ie

另外更新完驱动以后,使用libuvc的库时一定要链接到路径下,我是用QT去完成交互和关联驱动的,此处的编译器是mingW,也就自然选择了msys2这一神器工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/971115.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mybatisplus——Mybatisplus3.5.2版本使用Page分页插件查询,records有数据但是total显示0

目录 一、问题背景 debug 执行Mybatisplus使用Page分页插件查询时,发现 Page 里面的records有数据但是total显示0。 二、问题产生的原因 未配置MybatisPlus的分页插件拦截器导致的或者因mybatis-plus版本3.4或3.5版本导致原先的分页插件paginationInterceptor无法…

安全筑基,智能赋能:BeeWorks IM引领企业协同新纪元

在数字经济高速发展的今天,企业通讯系统已从单纯的信息传递工具演变为支撑业务创新的核心平台。传统通讯工具在安全性、智能化、协同性等方面的不足,严重制约着企业的数字化转型进程。BeeWorks IM系统以其创新的技术架构和智能化功能,正在重新…

SSM课设-学生选课系统

【课设者】SSM课设-学生选课系统 分为 管理员 和 老师 和 学生端 技术栈 前端: HtmlCssJavaScriptAjax 后端: Spring、Spring MVC、MyBatis、MySQL、JSP 学生端 --选课 选课 搜索 --查看选课结果 --退选 --查看已修课程 --管理个人信息 老师端 --添加教学课程 添加 …

记使用AScript自动化操作ios苹果手机

公司业务需要自动化操作手机,本来以为很困难,没想到使用AScript工具出乎意料的简单,但是还有很多坑存在,写个博客记录一下。 工具信息: 手机:iphone7 系统版本:ios15 AScript官方文档链接&a…

linux 安装ftp

1、安装vsftpd sudo yum install -y vsftpd 2、运行以下命令,启动FTP服务,并设置开机自启动。 sudo systemctl start vsftpdsudo systemctl enable vsftpd 3、运行以下命令,查看FTP服务监听的端口。 sudo netstat -antup | grep ftp 出现…

[AI]从零开始的llama.cpp部署与DeepSeek格式转换、量化、运行教程

一、前言 在上一次的DeepSeek的部署教程中,我们使用Ollama与LM Studio很轻松的部署了DeepSeek并且也完成了相关API的调用,如果还有不会的小伙伴请看下面的教程: DeepSeek本地部署:[AI]从零开始的DeepSeek本地部署及本地API调用教…

内容中台重构企业内容管理流程驱动智能协作升级

内容概要 内容中台作为企业数字化转型的核心基础设施,通过技术架构革新与功能模块整合,重构了传统内容管理流程的底层逻辑。其核心价值在于构建动态化、智能化的内容生产与流转体系,将分散的创作、存储、审核及分发环节纳入统一平台管理。基…

LM Studio笔记

一、什么是 LM Studio? LM Studio 是一款功能强大、易于使用的桌面应用程序,用于在本地机器上实验和评估大型语言模型(LLMs)。它允许用户轻松地比较不同的模型,并支持使用 NVIDIA/AMD GPU 加速计算。 功能集&#xff1…

oracle使用动态sql将多层级组织展平

ERP或者其他企业管理软件中都会有一张组织机构表,可以写固定sql的方式将其展平获取组织表中的字段信息,如负责人、上级组织负责人、分管领导、成立时间等。但是这种方式有个缺陷,就是如果只写到处理4个层级,那么后期层级增多就无法…

【JavaEE进阶】Spring Boot日志

目录 🌴日志概述 🚩为什么要学习日志 🚩日志的用途 🚩日志使用 🌳打印日志 🚩在程序中得到日志对象 🚩使用日志对象打印日志 🌲日志框架介绍(Slf4j ) 🚩门面模式…

【机器学习】向量化使得简单线性回归性能提升

向量化使得简单线性回归性能提升 一、摘要二、向量化运算概述三、向量化运算在简单线性回归中的应用四、性能测试与结果分析 一、摘要 本文主要讲述了向量化运算在简单线性回归算法中的应用。通过回顾传统for循环方式实现的简单线性回归算法,介绍了如何通过最小二乘…

基于微信小程序的场地预约设计与实现

第3章 系统设计 3.1系统设计目标 本系统的实现可以帮助体育馆场地信息的管理。帮助管理员对注册用户管理以及用户预约管理。同时可以帮助用户进行场地预约。本系统可以实现用户足不出户预约到需要的场地,为用户提供场地信息了解的平台。 3.2系统功能结构图 本系统的…

2025百度快排技术分析:模拟点击与发包算法的背后原理

一晃做SEO已经15年了,2025年还有人问我如何做百度快速排名,我能给出的答案就是:做好内容的前提下,多刷刷吧!百度的SEO排名算法一直是众多SEO从业者研究的重点,模拟算法、点击算法和发包算法是百度快速排名的…

TCP开发

TCP客户端编程开发 任何的网络编程套接字开发的两种工作模式:TCP网络、UDP网络。 TCP和UDP的介绍 TCP:连接式网络通信,长连接通信或流式通信。TCP的通信一般稳定、可靠,但传输速度往往没有UDP快。其中有这样一个概念----心跳时…

CPP集群聊天服务器开发实践(五):nginx负载均衡配置

1 负载均衡器的原理与功能 单台Chatserver可以容纳大约两万台客户端同时在线聊天,为了提升并发量最直观的办法需要水平扩展服务器的数量,三台服务器可以容纳六万左右的客户端。 负载均衡器的作用: 把client的请求按照负载均衡算法分发到具体…

神经网络新手入门(3)光明顶复出(2006-2012)

让我们继续这场科技江湖的传奇,见证神经网络如何从寒冬中涅槃重生: 第五章:光明顶复出(2006-2012) 2006年,江湖人称"深度学习教主"的辛顿(Geoffrey Hinton)闭关修炼二十…

Flutter Gradle 命令式插件正式移除,你迁移旧版 Gradle 配置了吗?

在 Flutter 3.29 版本里官方正式移除了 Flutter Gradle Apply 插件,其实该插件自 3.19 起已被弃用,同时 Flutter 团队后续也打算把 Flutter Gradle 从 Groovy 转换为 Kotlin,并将其迁移到使用 AGP(Android Gradle Plugin&#xff…

linux-带宽性能压测-全解iperfwgetspeedtest-cli

【摘要】本文介绍了iperf,wget,speedtest-cli 测速linux 服务器带宽,测速方法,和测速分析结果都有详解。同时也附带了windows的带宽测速已经这些软件的下载。快来测试下您的网速 1.iperf: iperf是一个开源网络带宽测试工具&…

总结前端常用数据结构 之 数组篇【JavaScript -包含常用数组方法】

【亲爱的读者,爱博主记得一键三连噢噢ooo~~ 啾咪】 创建数组: 以字面量的形式创建新数组:let arr1 [1, 2, 3];通过 Array 构造函数并传入一组元素(4,5,6)来创建一个新数组:let arr2 new Array(4, 5, 6);…

Redis 09章——哨兵(sentinel)

一、是什么 吹哨人巡查监控后台master主机是否故障,如果故障了根据$\textcolor{red}{投票数}$自动将某一个从库转换为新主库,继续对外服务作用:俗称无人值守运维官网理论:High availability with Redis Sentinel | Docs 二、能干…