0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Windows下基于MSVC搭建libuvc开发环境

嵌入式USB开发 来源:嵌入式USB开发 作者:嵌入式USB开发 2023-06-08 10:19 次阅读

本文转自公众号,欢迎关注

Windows下基于MSVC搭建libuvc开发环境 (qq.com)

前言

libuvc是基于libusb的跨平台UVC库。在MacLinux上可以直接构建(使用cmake),也可以移植到Windows下。

源码

https://github.com/libuvc/libuvc

文档

https://libuvc.github.io/libuvc/

依赖

libuvc依赖libusb和pthread,分别参考

Windows下使用pthread-开发环境搭建

Windows下基于MSVC搭建libusb开发环境

搭建对应的环境。

移植到Windows下

工程配置

基于MSVC Community 2022。

需要配置好libusb参考开发环境,。

在Mac和Linux下使用CMake可以方便的构建,参考git的readme即可。在windows下我们可以直接添加源码到VS下进行编译。

下载代码

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

在自己的工程目录下新建libuvc的文件夹

将源码目录的include和src复制到自己工程的libuvc目录下,添加如下代码到工程中

图片

右键点击工程名->属性

添加包含路径

$(MSBuildProjectDirectory)\\Src\\libuvc\\include;

图片

代码修改

llibuvc\\include\\libuvc下复制一份libuvc_config.h.in改为libuvc_config.h

内容修改如下

#ifndef LIBUVC_CONFIG_H


#define LIBUVC_CONFIG_H


#define LIBUVC_VERSION_MAJOR 0


#define LIBUVC_VERSION_MINOR 0


#define LIBUVC_VERSION_PATCH 6


#define LIBUVC_VERSION_STR "0.0.6"


#define LIBUVC_VERSION_INT \\


((0 < < 16) |             \\


(0 < < 8) |              \\


(6))


/** @brief Test whether libuvc is new enough


* This macro evaluates true if and only if the current version is


* at least as new as the version specified.


*/


#define LIBUVC_VERSION_GTE(major, minor, patch) \\


(LIBUVC_VERSION_INT >= (((major) < < 16) | ((minor) < < 8) | (patch)))


/* #undef LIBUVC_HAS_JPEG */


#endif // !def(LIBUVC_CONFIG_H)

lfatal error C1083: 无法打开包括文件: “sys/time.h”: No such file or directory

先注释掉#include 改为 #include

l1>C:\\Users\\qinyunti\\OneDrive\\wuqi\\usb\\USB_VS\\USB\\Src\\libuvc\\include\\libuvc\\libuvc.h(475,19): error C2079: “capture_time_finished”使用未定义的 struct“timespec”

添加#include

l1>C:\\Users\\qinyunti\\OneDrive\\wuqi\\usb\\USB_VS\\USB\\Src\\libuvc\\src\\example.c(3,10): fatal error C1083: 无法打开包括文件: “unistd.h”: No such file or directory

注释掉该头文件

l1>C:\\Users\\qinyunti\\OneDrive\\wuqi\\usb\\USB_VS\\USB\\Src\\libuvc\\src\\stream.c(662,38): error C2065: “CLOCK_MONOTONIC”: 未声明的标识符

(void)clock_gettime(CLOCK_MONOTONIC, &strmh->capture_time_finished);

改为

timespec_get(&strmh->capture_time_finished, TIME_UTC);

l1>C:\\Users\\qinyunti\\OneDrive\\wuqi\\usb\\USB_VS\\USB\\Src\\libuvc\\src\\device.c(560,35): error C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strdup. See online help for details.

strdup改为_strdup

l1>C:\\Users\\qinyunti\\OneDrive\\wuqi\\usb\\USB_VS\\USB\\Src\\libuvc\\src\\device.c(165): error C4703: 使用了可能未初始化的本地指针变量“test_dev”

uvc_device_t *test_dev;改为

uvc_device_t *test_dev = 0;

l1>example.obj : error LNK2001: 无法解析的外部符号 sleep

添加#include < windows.h >

sleep(10);改为Sleep(10000)

运行测试

先切换驱动

下载打开zadig-2.8.exe

Options->List All Devices

图片

图片

将pthread.dll复制到exe所在目录

然后运行,可以看到打印的设备信息

图片

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5082

    文章

    19104

    浏览量

    304809
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209328
  • WINDOWS
    +关注

    关注

    3

    文章

    3541

    浏览量

    88623
  • 开发环境
    +关注

    关注

    1

    文章

    225

    浏览量

    16609
收藏 人收藏

    评论

    相关推荐

    Windows基于MSVC搭建libjpeg开发环境

    Windows基于MSVC搭建libjpeg开发环境
    的头像 发表于 06-08 10:23 1709次阅读
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>基于<b class='flag-5'>MSVC</b><b class='flag-5'>搭建</b>libjpeg<b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    Windows基于MSVC搭建libusb开发环境

    Windows基于MSVC搭建libusb开发环境
    的头像 发表于 06-08 10:25 3055次阅读
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>基于<b class='flag-5'>MSVC</b><b class='flag-5'>搭建</b>libusb<b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    Windows基于MSVC搭建ffmpeg开发环境

    Windows基于MSVC搭建ffmpeg开发环境
    的头像 发表于 06-08 10:27 1933次阅读
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>基于<b class='flag-5'>MSVC</b><b class='flag-5'>搭建</b>ffmpeg<b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    Windows基于MSVC搭建SDL开发环境

    Windows基于MSVC搭建SDL开发环境
    的头像 发表于 06-08 10:29 1581次阅读
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>基于<b class='flag-5'>MSVC</b><b class='flag-5'>搭建</b>SDL<b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    Windows使用pthread-开发环境搭建

    Windows使用pthread-开发环境搭建
    的头像 发表于 06-08 10:32 5681次阅读
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>使用pthread-<b class='flag-5'>开发</b><b class='flag-5'>环境</b><b class='flag-5'>搭建</b>

    开发环境搭建教程

    android Windows系统开发环境搭建
    发表于 03-22 17:42 0次下载

    搭建C语言开发环境Windows平台)汇总

    本文给大家汇总了5种在WIN平台下搭建C语言开发环境的方法,包括在Windows平台配置GNU环境,使用Sublime Test
    的头像 发表于 02-01 10:03 3729次阅读

    php开发环境搭建和使用

    本文主要介绍的是php开发环境搭建和使用。apache在默认情况下不会处理php页面,Apache处理php页面的步骤:即:php开发环境
    的头像 发表于 02-01 15:26 3452次阅读
    php<b class='flag-5'>开发</b><b class='flag-5'>环境</b>的<b class='flag-5'>搭建</b>和使用

    ESP32教程——Windows开发环境搭建.pdf下载

    ESP32教程——Windows开发环境搭建.pdf
    发表于 04-14 10:41 47次下载
    ESP32教程——<b class='flag-5'>Windows</b><b class='flag-5'>开发</b><b class='flag-5'>环境</b><b class='flag-5'>搭建</b>.pdf下载

    如何在Windows系统安装搭建PHP环境

    这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows 如何安装搭建PHP 环境,所以打算勤劳
    发表于 08-09 16:56 13次下载

    ESP32教程之如何在Windows系统上搭建开发环境

    本文档的主要内容详细介绍的是ESP32教程之如何在Windows系统上搭建开发环境
    发表于 12-13 15:34 40次下载
    ESP32教程之如何在<b class='flag-5'>Windows</b>系统上<b class='flag-5'>搭建</b><b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    MM32F013x——Windows环境基于Eclipse开发、调试MM32

    前面一章节介绍了在Windows搭建Eclipse开发环境,本章节将介绍在Windows
    发表于 01-25 18:53 2次下载
    MM32F013x——<b class='flag-5'>Windows</b><b class='flag-5'>环境</b><b class='flag-5'>下</b>基于Eclipse<b class='flag-5'>开发</b>、调试MM32

    MM32F013x——Windows搭建Eclipse开发环境

    前段时间有客户问到如何在Windows环境基于Eclipse开发、调试MM32 MCU,经过尝试,现将环境
    发表于 01-25 18:58 2次下载
    MM32F013x——<b class='flag-5'>Windows</b><b class='flag-5'>下</b><b class='flag-5'>搭建</b>Eclipse<b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    MM32F013x——Windows搭建Eclipse开发环境

    如何在Windows环境基于Eclipse开发、调试MM32 MCU,经过尝试,现将环境搭建
    发表于 02-08 16:27 1次下载
    MM32F013x——<b class='flag-5'>Windows</b><b class='flag-5'>下</b><b class='flag-5'>搭建</b>Eclipse<b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    Windows搭建ARM11裸机开发环境:Eclipse创建工程

    上一篇文章介绍了在Windows搭建ARM11的裸机开发环境,需要的朋友可以过去看看。
    的头像 发表于 04-08 09:36 1213次阅读