那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Windows下基于MSVC搭建libuvc開發(fā)環(huán)境

嵌入式USB開發(fā) ? 來源:嵌入式USB開發(fā) ? 作者:嵌入式USB開發(fā) ? 2023-06-08 10:19 ? 次閱讀

本文轉(zhuǎn)自公眾號,歡迎關(guān)注

Windows下基于MSVC搭建libuvc開發(fā)環(huán)境 (qq.com)

前言

libuvc是基于libusb的跨平臺UVC庫。在MacLinux上可以直接構(gòu)建(使用cmake),也可以移植到Windows下。

源碼

https://github.com/libuvc/libuvc

文檔

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

依賴

libuvc依賴libusb和pthread,分別參考

Windows下使用pthread-開發(fā)環(huán)境搭建

Windows下基于MSVC搭建libusb開發(fā)環(huán)境

搭建對應(yīng)的環(huán)境。

移植到Windows下

工程配置

基于MSVC Community 2022。

需要配置好libusb參考開發(fā)環(huán)境,。

在Mac和Linux下使用CMake可以方便的構(gòu)建,參考git的readme即可。在windows下我們可以直接添加源碼到VS下進(jìn)行編譯。

下載代碼

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

在自己的工程目錄下新建libuvc的文件夾

將源碼目錄的include和src復(fù)制到自己工程的libuvc目錄下,添加如下代碼到工程中

圖片

右鍵點擊工程名->屬性

添加包含路徑

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

圖片

代碼修改

llibuvc\\include\\libuvc下復(fù)制一份libuvc_config.h.in改為libuvc_config.h

內(nèi)容修改如下

#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”: 未聲明的標(biāo)識符

(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)

運(yùn)行測試

先切換驅(qū)動

下載打開zadig-2.8.exe

Options->List All Devices

圖片

圖片

將pthread.dll復(fù)制到exe所在目錄

然后運(yùn)行,可以看到打印的設(shè)備信息

圖片

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5092

    文章

    19177

    瀏覽量

    307665
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11345

    瀏覽量

    210391
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3569

    瀏覽量

    89303
  • 開發(fā)環(huán)境
    +關(guān)注

    關(guān)注

    1

    文章

    230

    瀏覽量

    16697
收藏 人收藏

    評論

    相關(guān)推薦

    Windows基于MSVC搭建libjpeg開發(fā)環(huán)境

    Windows基于MSVC搭建libjpeg開發(fā)環(huán)境
    的頭像 發(fā)表于 06-08 10:23 ?1803次閱讀
    <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'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    Windows基于MSVC搭建libusb開發(fā)環(huán)境

    Windows基于MSVC搭建libusb開發(fā)環(huán)境
    的頭像 發(fā)表于 06-08 10:25 ?3303次閱讀
    <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'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    Windows基于MSVC搭建ffmpeg開發(fā)環(huán)境

    Windows基于MSVC搭建ffmpeg開發(fā)環(huán)境
    的頭像 發(fā)表于 06-08 10:27 ?2115次閱讀
    <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'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    Windows基于MSVC搭建SDL開發(fā)環(huán)境

    Windows基于MSVC搭建SDL開發(fā)環(huán)境
    的頭像 發(fā)表于 06-08 10:29 ?1653次閱讀
    <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'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    Windows使用pthread-開發(fā)環(huán)境搭建

    Windows使用pthread-開發(fā)環(huán)境搭建
    的頭像 發(fā)表于 06-08 10:32 ?5880次閱讀
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>使用pthread-<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>

    開發(fā)環(huán)境搭建教程

    android Windows系統(tǒng)開發(fā)環(huán)境搭建
    發(fā)表于 03-22 17:42 ?0次下載

    搭建C語言開發(fā)環(huán)境Windows平臺)匯總

    本文給大家匯總了5種在WIN平臺下搭建C語言開發(fā)環(huán)境的方法,包括在Windows平臺配置GNU環(huán)境,使用Sublime Test
    的頭像 發(fā)表于 02-01 10:03 ?3795次閱讀

    php開發(fā)環(huán)境搭建和使用

    本文主要介紹的是php開發(fā)環(huán)境搭建和使用。apache在默認(rèn)情況下不會處理php頁面,Apache處理php頁面的步驟:即:php開發(fā)環(huán)境
    的頭像 發(fā)表于 02-01 15:26 ?3500次閱讀
    php<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>的<b class='flag-5'>搭建</b>和使用

    ESP32教程——Windows開發(fā)環(huán)境搭建.pdf下載

    ESP32教程——Windows開發(fā)環(huán)境搭建.pdf
    發(fā)表于 04-14 10:41 ?47次下載
    ESP32教程——<b class='flag-5'>Windows</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>.pdf下載

    如何在Windows系統(tǒng)安裝搭建PHP環(huán)境

    這兩天剛裝好Windows 7,碰巧前段時間有朋友問我Windows 如何安裝搭建PHP 環(huán)境,所以打算勤勞
    發(fā)表于 08-09 16:56 ?13次下載

    ESP32教程之如何在Windows系統(tǒng)上搭建開發(fā)環(huán)境

    本文檔的主要內(nèi)容詳細(xì)介紹的是ESP32教程之如何在Windows系統(tǒng)上搭建開發(fā)環(huán)境
    發(fā)表于 12-13 15:34 ?40次下載
    ESP32教程之如何在<b class='flag-5'>Windows</b>系統(tǒng)上<b class='flag-5'>搭建</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    MM32F013x——Windows環(huán)境基于Eclipse開發(fā)、調(diào)試MM32

    前面一章節(jié)介紹了在Windows搭建Eclipse開發(fā)環(huán)境,本章節(jié)將介紹在Windows
    發(fā)表于 01-25 18:53 ?3次下載
    MM32F013x——<b class='flag-5'>Windows</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>下</b>基于Eclipse<b class='flag-5'>開發(fā)</b>、調(diào)試MM32

    MM32F013x——Windows搭建Eclipse開發(fā)環(huán)境

    前段時間有客戶問到如何在Windows環(huán)境基于Eclipse開發(fā)、調(diào)試MM32 MCU,經(jīng)過嘗試,現(xiàn)將環(huán)境
    發(fā)表于 01-25 18:58 ?3次下載
    MM32F013x——<b class='flag-5'>Windows</b><b class='flag-5'>下</b><b class='flag-5'>搭建</b>Eclipse<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    MM32F013x——Windows搭建Eclipse開發(fā)環(huán)境

    如何在Windows環(huán)境基于Eclipse開發(fā)、調(diào)試MM32 MCU,經(jīng)過嘗試,現(xiàn)將環(huán)境搭建
    發(fā)表于 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'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    Windows搭建ARM11裸機(jī)開發(fā)環(huán)境:Eclipse創(chuàng)建工程

    上一篇文章介紹了在Windows搭建ARM11的裸機(jī)開發(fā)環(huán)境,需要的朋友可以過去看看。
    的頭像 發(fā)表于 04-08 09:36 ?1295次閱讀
    江都市| 逍遥坊百家乐官网的玩法技巧和规则| 百家乐官网作弊手段| 网站百家乐假| 最好的百家乐官网好评平台都有哪些 | 百家乐官网获胜秘决百家乐官网获胜秘诀 | 属虎与属鼠做生意好吗| 伟易博百家乐官网现金网| 大发888送58体验金| 缅甸百家乐官网视频| 宁陕县| 大发888 游戏下载| 现金百家乐攻略| 百家乐官网破解秘| 百家乐官网分析下载| 大发888攻略| 百家乐羸钱法| 百家乐投注平台| 百家乐官网赚钱方| 百家乐官网视频游戏世界| 凤凰网上娱乐| 威尼斯人娱乐城活动lm0| 百家乐娱乐注册就送| 百家乐官网皇室百家乐官网的玩法技巧和规则| 赣榆县| 合乐娱乐| 大发888在线娱乐城二十一点| 尊龙百家乐娱乐场| 百家乐最常见的路子| 黄金城百家乐官网安卓版| 百家乐官网娱乐分析软件v4.0| 义乌市| 衡东县| 百家乐官网有技巧么| 楚雄市| bet365网站| 德州扑克 术语| 大发888怎么打不开| 大发888 代充| 哪个棋牌游戏平台好| bet365娱乐城官网|