{"id":1300,"date":"2021-02-25T18:03:55","date_gmt":"2021-02-25T17:03:55","guid":{"rendered":"http:\/\/anthony.lepors.fr\/raspi-thermo-cam\/?page_id=1300"},"modified":"2021-05-06T21:35:14","modified_gmt":"2021-05-06T19:35:14","slug":"compilation-libusb-libuvc-msys2","status":"publish","type":"page","link":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/","title":{"rendered":"Compilation LibUSB &#038; LibUVC avec Msys2"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<h1>Compilation des librairies LibUSB et LibUVC avec Msys2<\/h1>\n<p>Apr\u00e8s avoir mis en place une machine virtuelle d&rsquo;un environnement Windows 20H2 (<a href=\"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/creation-machine-virtuelle-windows\/\">voir page pr\u00e9c\u00e9dente<\/a>), nous allons test\u00e9 de compiler les librairies LibUSB et LibUVC afin de r\u00e9cup\u00e9rer un flux vid\u00e9o de notre cam\u00e9ra thermique FLIR Lepton 3.5. Pour cela, nous allons utilis\u00e9 la plateforme-forme de distribution et de d\u00e9veloppement de logiciels Msys2.<\/p>\n<p>Nous partons donc du snapshot \u00ab\u00a02 &#8211; Update OK Desactiv\u00e9\u00a0\u00bb.<\/p>\n<h2>Installation de Msys2<\/h2>\n<p>Pour installer Msys2, nous allons sur le site officiel de la plateforme\u00a0<span class=\"aCOpRe\"><span>\u00ab<\/span><\/span> <a href=\"https:\/\/www.msys2.org\/\">https:\/\/www.msys2.org\/<\/a>\u00a0<span class=\"aCOpRe\"><span>\u00bb. Nous t\u00e9l\u00e9chargeons donc l&rsquo;installeur de msys2 dans un r\u00e9pertoire \u00ab\u00a0Sources\u00a0\u00bb du Disque Local (C:).<\/span><\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_4,1_2,1_4&Prime; use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb4&Prime; make_equal=\u00a0\u00bbon\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb1_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/logo-exe-2.jpg\u00a0\u00bb title_text=\u00a0\u00bblogo_exe\u00a0\u00bb align=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb max_width=\u00a0\u00bb81px\u00a0\u00bb module_alignment=\u00a0\u00bbcenter\u00a0\u00bb max_height=\u00a0\u00bb81px\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbMsys2 x86-64&Prime; use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%272%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb48px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_font=\u00a0\u00bbOpen Sans||||||||\u00a0\u00bb body_font=\u00a0\u00bbOpen Sans||||||||\u00a0\u00bb body_text_align=\u00a0\u00bbleft\u00a0\u00bb custom_padding=\u00a0\u00bb15px||15px||false|false\u00a0\u00bb]<\/p>\n<p>1 file\u00a0 \u00a0 \u00a096.104 MB\u00a0 \u00a0 \u00a015\/02\/2021<\/p>\n<p>[\/et_pb_blurb][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_button button_url=\u00a0\u00bbhttps:\/\/www.msys2.org\/\u00a0\u00bb url_new_window=\u00a0\u00bbon\u00a0\u00bb button_text=\u00a0\u00bbDOWNLOAD\u00a0\u00bb button_alignment=\u00a0\u00bbleft\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_button=\u00a0\u00bbon\u00a0\u00bb button_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_bg_color=\u00a0\u00bb#ff8080&Prime; button_border_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_font=\u00a0\u00bbOpen Sans||||||||\u00a0\u00bb button_icon=\u00a0\u00bb%%209%%\u00a0\u00bb button_icon_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb position_origin_a=\u00a0\u00bbcenter_left\u00a0\u00bb custom_margin=\u00a0\u00bb15px||15px||false|false\u00a0\u00bb][\/et_pb_button][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>Nous installons MSYS2 64bit dans un r\u00e9pertoire \u00ab\u00a0C:\\msys64\u00a0\u00bb, c&rsquo;est donc une installation par d\u00e9faut.<\/p>\n<p>Nous choisissons \u00e0 cet endroit de faire un snapshot \u00ab\u00a03.5 &#8211; Base Msys 2\u00a0\u00bb.<\/p>\n<p>Ensuite, nous allons ajouter des composants dans l&rsquo;environnement Msys2. Cela va nous permettre de compiler la LibUSB. Nous ex\u00e9cutons le terminal MSYS2 MinGW 64-bit via le menu d\u00e9marrer. La liste des packages installables se trouve sur le site\u00a0<span class=\"aCOpRe\"><span>\u00ab<\/span><\/span> <a href=\"https:\/\/packages.msys2.org\/package\/\">https:\/\/packages.msys2.org\/package\/<\/a>\u00a0<span class=\"aCOpRe\"><span>\u00bb.<\/span><\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbTerminal\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%209%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb20px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_font_size=\u00a0\u00bb16px\u00a0\u00bb header_line_height=\u00a0\u00bb1.3em\u00a0\u00bb background_color=\u00a0\u00bb#000000&Prime; width=\u00a0\u00bb135px\u00a0\u00bb max_width=\u00a0\u00bb135px\u00a0\u00bb custom_margin=\u00a0\u00bb||-42px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|15px|2px|15px|false|false\u00a0\u00bb][\/et_pb_blurb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_text_color=\u00a0\u00bb#000000&Prime; background_color=\u00a0\u00bb#eff0f1&Prime; custom_margin=\u00a0\u00bb|||145px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb1%|1%|1%|1%|false|false\u00a0\u00bb border_width_top=\u00a0\u00bb10px\u00a0\u00bb border_color_top=\u00a0\u00bb#ff8080&Prime;][crayon theme=\u00a0\u00bbanthoterm\u00a0\u00bb nums=\u00a0\u00bbfalse\u00a0\u00bb toolbar=\u00a0\u00bbfalse\u00a0\u00bb plain=\u00a0\u00bbfalse\u00a0\u00bb]<\/p>\n<p>pacman -S autoconf<br \/>\npacman -S automake<br \/>\npacman -S libtool<br \/>\npacman -S mingw-w64-x86_64-gcc<br \/>\npacman -S make<\/p>\n<p>[\/crayon][\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_padding=\u00a0\u00bb||0px|||\u00a0\u00bb]<\/p>\n<h2>Compilation de la LibUSB avec Msys2<\/h2>\n<p>Pour compiler la LibUSB, nous allons devoir t\u00e9l\u00e9charger le dossier LibUSB que nous r\u00e9cup\u00e9rons sur le GitHub officiel des librairies LibUSB \u00ab\u00a0<a href=\"https:\/\/github.com\/libusb\/libusb\">https:\/\/github.com\/libusb\/libusb<\/a>\u00a0<span class=\"aCOpRe\"><span>\u00bb.<\/span><\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_4,1_2,1_4&Prime; use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb4&Prime; make_equal=\u00a0\u00bbon\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb1_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/logo-zip.jpg\u00a0\u00bb title_text=\u00a0\u00bblogo_zip\u00a0\u00bb align=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb module_alignment=\u00a0\u00bbcenter\u00a0\u00bb max_height=\u00a0\u00bb81px\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbLibUSB\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%272%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb48px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_font=\u00a0\u00bbOpen Sans||||||||\u00a0\u00bb body_font=\u00a0\u00bbOpen Sans||||||||\u00a0\u00bb body_text_align=\u00a0\u00bbleft\u00a0\u00bb custom_padding=\u00a0\u00bb15px||15px||false|false\u00a0\u00bb]<\/p>\n<p>52 files\u00a0 \u00a0 \u00a0521 KB\u00a0 \u00a0 \u00a013\/02\/2021<\/p>\n<p>[\/et_pb_blurb][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_button button_url=\u00a0\u00bbhttps:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/libusb-master.zip\u00a0\u00bb button_text=\u00a0\u00bbDOWNLOAD\u00a0\u00bb button_alignment=\u00a0\u00bbleft\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_button=\u00a0\u00bbon\u00a0\u00bb button_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_bg_color=\u00a0\u00bb#ff8080&Prime; button_border_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_font=\u00a0\u00bbOpen Sans||||||||\u00a0\u00bb button_icon=\u00a0\u00bb%%209%%\u00a0\u00bb button_icon_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb position_origin_a=\u00a0\u00bbcenter_left\u00a0\u00bb custom_margin=\u00a0\u00bb15px||15px||false|false\u00a0\u00bb][\/et_pb_button][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>Nous d\u00e9compressons cette archive dans un r\u00e9pertoire \u00ab\u00a0C:\\work\u00a0\u00bb. Nous renommons le dossier libusb-master en libusb et nous simplifions le chemin en supprimant le double dossier \u00ab\u00a0libusb\u00a0\u00bb cr\u00e9\u00e9 lors de la d\u00e9compression.<\/p>\n<p>Nous ouvrons maintenant le terminal MSYS2 MinGW 64-bit et nous ex\u00e9cutons les commandes suivantes pour compiler les librairies.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbTerminal\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%209%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb20px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_font_size=\u00a0\u00bb16px\u00a0\u00bb header_line_height=\u00a0\u00bb1.3em\u00a0\u00bb background_color=\u00a0\u00bb#000000&Prime; width=\u00a0\u00bb135px\u00a0\u00bb max_width=\u00a0\u00bb135px\u00a0\u00bb custom_margin=\u00a0\u00bb||-42px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|15px|2px|15px|false|false\u00a0\u00bb][\/et_pb_blurb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_text_color=\u00a0\u00bb#000000&Prime; background_color=\u00a0\u00bb#eff0f1&Prime; custom_margin=\u00a0\u00bb|||145px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb1%|1%|1%|1%|false|false\u00a0\u00bb border_width_top=\u00a0\u00bb10px\u00a0\u00bb border_color_top=\u00a0\u00bb#ff8080&Prime;][crayon theme=\u00a0\u00bbanthoterm\u00a0\u00bb nums=\u00a0\u00bbfalse\u00a0\u00bb toolbar=\u00a0\u00bbfalse\u00a0\u00bb plain=\u00a0\u00bbfalse\u00a0\u00bb]<\/p>\n<p>cd \/c\/work\/libusb<br \/>\n.\/autogen.sh<br \/>\nmake<br \/>\nmake install<\/p>\n<p>[\/crayon][\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>La compilation se d\u00e9roule avec succ\u00e8s gr\u00e2ce aux composants install\u00e9s dans la premi\u00e8re \u00e9tape. Nous pouvons maintenant v\u00e9rifier cela en ex\u00e9cutant le programme dans le dossier examples \u00ab\u00a0listdevs.exe\u00a0\u00bb. Nous ouvrons pour cela l&rsquo;invit\u00e9 de commandes de Windows (CMD) :<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbTerminal\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%209%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb20px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_font_size=\u00a0\u00bb16px\u00a0\u00bb header_line_height=\u00a0\u00bb1.3em\u00a0\u00bb background_color=\u00a0\u00bb#000000&Prime; width=\u00a0\u00bb135px\u00a0\u00bb max_width=\u00a0\u00bb135px\u00a0\u00bb custom_margin=\u00a0\u00bb||-42px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|15px|2px|15px|false|false\u00a0\u00bb][\/et_pb_blurb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_text_color=\u00a0\u00bb#000000&Prime; background_color=\u00a0\u00bb#eff0f1&Prime; custom_margin=\u00a0\u00bb|||145px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb1%|1%|1%|1%|false|false\u00a0\u00bb border_width_top=\u00a0\u00bb10px\u00a0\u00bb border_color_top=\u00a0\u00bb#ff8080&Prime;][crayon theme=\u00a0\u00bbanthoterm\u00a0\u00bb nums=\u00a0\u00bbfalse\u00a0\u00bb toolbar=\u00a0\u00bbfalse\u00a0\u00bb plain=\u00a0\u00bbfalse\u00a0\u00bb]<\/p>\n<p>cd \\work\\libusb\\examples<br \/>\nlistdevs.exe<\/p>\n<p>[\/crayon][\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/libusb-listdevs.jpg\u00a0\u00bb alt=\u00a0\u00bbListe des dispositifs USB reconnus\u00a0\u00bb title_text=\u00a0\u00bbListe des dispositifs USB reconnus\u00a0\u00bb show_in_lightbox=\u00a0\u00bbon\u00a0\u00bb align=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][\/et_pb_image][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>Dans un premier temps, notre cam\u00e9ra FLIR Lepton 3.5 n&rsquo;\u00e9tait pas branch\u00e9e. Ensuite, nous la branchons et notre cam\u00e9ra apparait bien dans la liste des dispositifs USB, c&rsquo;est le device 6 du bus 3. Nous faisons donc ici un snapshot \u00ab\u00a04.1 &#8211; Compilation LibUSB OK\u00a0\u00bb<\/p>\n<p>Nous pouvons maintenant commencer la compilation de la LibUVC, qui n\u00e9cessitera le fichier \u00ab\u00a0libubs-1.0.dll\u00a0\u00bb obtenu lors de la compilation de la LibUSB.<\/p>\n<h2>Installation de Cmake-GUI sur Msys2<\/h2>\n<p>De plus, nous allons devoir utiliser l&rsquo;interface graphique du compilateur Cmake pour pouvoir compiler cette seconde librairie. Nous devons donc l&rsquo;installer sur l&rsquo;environnement Msys2, via le terminal MSYS2 MinGW 64-bit.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbTerminal\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%209%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb20px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_font_size=\u00a0\u00bb16px\u00a0\u00bb header_line_height=\u00a0\u00bb1.3em\u00a0\u00bb background_color=\u00a0\u00bb#000000&Prime; width=\u00a0\u00bb135px\u00a0\u00bb max_width=\u00a0\u00bb135px\u00a0\u00bb custom_margin=\u00a0\u00bb||-42px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|15px|2px|15px|false|false\u00a0\u00bb][\/et_pb_blurb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_text_color=\u00a0\u00bb#000000&Prime; background_color=\u00a0\u00bb#eff0f1&Prime; custom_margin=\u00a0\u00bb|||145px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb1%|1%|1%|1%|false|false\u00a0\u00bb border_width_top=\u00a0\u00bb10px\u00a0\u00bb border_color_top=\u00a0\u00bb#ff8080&Prime;][crayon theme=\u00a0\u00bbanthoterm\u00a0\u00bb nums=\u00a0\u00bbfalse\u00a0\u00bb toolbar=\u00a0\u00bbfalse\u00a0\u00bb plain=\u00a0\u00bbfalse\u00a0\u00bb]<\/p>\n<p>pacman -S mingw-w64-x86_64-cmake<br \/>\npacman -S mingw-w64-x86_64-qt5<\/p>\n<p>cmake-gui # execution de l&rsquo;interface Cmake sur l&rsquo;environnement Msys2<\/p>\n<p>[\/crayon][\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<h2>Compilation de la LibUVC avec Msys2<\/h2>\n<p>Pour compiler la LibUVC, nous allons devoir t\u00e9l\u00e9charger le dossier LibUVC que nous r\u00e9cup\u00e9rons sur le GitHub officiel des librairies LibUVC \u00ab\u00a0<a href=\"https:\/\/github.com\/libuvc\/libuvc\">https:\/\/github.com\/libuvc\/libuvc<\/a>\u00a0<span class=\"aCOpRe\"><span>\u00bb.<\/span><\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_4,1_2,1_4&Prime; use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb4&Prime; make_equal=\u00a0\u00bbon\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb1_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/logo-zip.jpg\u00a0\u00bb title_text=\u00a0\u00bblogo_zip\u00a0\u00bb align=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb module_alignment=\u00a0\u00bbcenter\u00a0\u00bb max_height=\u00a0\u00bb81px\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbLibUVC\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%272%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb48px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_font=\u00a0\u00bbOpen Sans||||||||\u00a0\u00bb body_font=\u00a0\u00bbOpen Sans||||||||\u00a0\u00bb body_text_align=\u00a0\u00bbleft\u00a0\u00bb custom_padding=\u00a0\u00bb15px||15px||false|false\u00a0\u00bb]<\/p>\n<p>12 files\u00a0 \u00a0 \u00a0120 KB\u00a0 \u00a0 \u00a025\/02\/2021<\/p>\n<p>[\/et_pb_blurb][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_button button_url=\u00a0\u00bbhttps:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/libuvc-master1.zip\u00a0\u00bb button_text=\u00a0\u00bbDOWNLOAD\u00a0\u00bb button_alignment=\u00a0\u00bbleft\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_button=\u00a0\u00bbon\u00a0\u00bb button_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_bg_color=\u00a0\u00bb#ff8080&Prime; button_border_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_font=\u00a0\u00bbOpen Sans||||||||\u00a0\u00bb button_icon=\u00a0\u00bb%%209%%\u00a0\u00bb button_icon_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb position_origin_a=\u00a0\u00bbcenter_left\u00a0\u00bb custom_margin=\u00a0\u00bb15px||15px||false|false\u00a0\u00bb][\/et_pb_button][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>Nous d\u00e9compressons cette archive dans le r\u00e9pertoire \u00ab\u00a0C:\\work\u00a0\u00bb. Nous renommons le dossier libuvc-master en libuvc1 et nous simplifions le chemin en supprimant le double dossier \u00ab\u00a0libuvc\u00a0\u00bb cr\u00e9\u00e9 lors de la d\u00e9compression.<\/p>\n<p>Nous ouvrons maintenant le terminal MSYS2 MinGW 64-bit et nous ex\u00e9cutons les commandes suivantes pour compiler les librairies.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbTerminal\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%209%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb20px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_font_size=\u00a0\u00bb16px\u00a0\u00bb header_line_height=\u00a0\u00bb1.3em\u00a0\u00bb background_color=\u00a0\u00bb#000000&Prime; width=\u00a0\u00bb135px\u00a0\u00bb max_width=\u00a0\u00bb135px\u00a0\u00bb custom_margin=\u00a0\u00bb||-42px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|15px|2px|15px|false|false\u00a0\u00bb][\/et_pb_blurb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_text_color=\u00a0\u00bb#000000&Prime; background_color=\u00a0\u00bb#eff0f1&Prime; custom_margin=\u00a0\u00bb|||145px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb1%|1%|1%|1%|false|false\u00a0\u00bb border_width_top=\u00a0\u00bb10px\u00a0\u00bb border_color_top=\u00a0\u00bb#ff8080&Prime;][crayon theme=\u00a0\u00bbanthoterm\u00a0\u00bb nums=\u00a0\u00bbfalse\u00a0\u00bb toolbar=\u00a0\u00bbfalse\u00a0\u00bb plain=\u00a0\u00bbfalse\u00a0\u00bb]<\/p>\n<p>cd \/c\/work\/libuvc1<br \/>\nmkdir build<br \/>\ncd build<br \/>\ncmake ..<\/p>\n<p>[\/crayon][\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>La compilation de la librairie ne peut pas s&rsquo;ex\u00e9cuter de cette mani\u00e8re. En effet, il manque un fichier \u00ab\u00a0cl.exe\u00a0\u00bb qui impliquerait l&rsquo;installation de l&rsquo;environnement Microsoft Visual Studio. C&rsquo;est donc ici que nous allons avoir besoin de l&rsquo;interface graphique de Cmake.<\/p>\n<p>Nous ex\u00e9cutons Cmake-gui gr\u00e2ce \u00e0 la commande suivante, toujours sur le terminal Msys2 :<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbTerminal\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%209%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb20px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_font_size=\u00a0\u00bb16px\u00a0\u00bb header_line_height=\u00a0\u00bb1.3em\u00a0\u00bb background_color=\u00a0\u00bb#000000&Prime; width=\u00a0\u00bb135px\u00a0\u00bb max_width=\u00a0\u00bb135px\u00a0\u00bb custom_margin=\u00a0\u00bb||-42px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|15px|2px|15px|false|false\u00a0\u00bb][\/et_pb_blurb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_text_color=\u00a0\u00bb#000000&Prime; background_color=\u00a0\u00bb#eff0f1&Prime; custom_margin=\u00a0\u00bb|||145px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb1%|1%|1%|1%|false|false\u00a0\u00bb border_width_top=\u00a0\u00bb10px\u00a0\u00bb border_color_top=\u00a0\u00bb#ff8080&Prime;][crayon theme=\u00a0\u00bbanthoterm\u00a0\u00bb nums=\u00a0\u00bbfalse\u00a0\u00bb toolbar=\u00a0\u00bbfalse\u00a0\u00bb plain=\u00a0\u00bbfalse\u00a0\u00bb]<\/p>\n<p>cmake-gui<\/p>\n<p>[\/crayon][\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>Nous allons configurer Cmake en renseignant les informations suivantes :<\/p>\n<ul>\n<li>Source : C:\/work\/libuvc1<\/li>\n<li>Build : C:\/work\/libuvc1\/build<\/li>\n<li>Generator : MSYS Makefiles, use default native compilers<\/li>\n<\/ul>\n<p>En cliquant sur Configure puis Generate, nous nous apercevons qu&rsquo;il manque un lien : Target \u00ab\u00a0uvc\u00a0\u00bb links to target \u00ab\u00a0LibUSB::LibUSB\u00a0\u00bb but the target was not found.<\/p>\n<p>Nous allons donc devoir modifier le fichier CmakeLists.txt du r\u00e9peroitre libuvc1 pour l&rsquo;adapter. Nous avons fait 4 changements sur ce fichier :\u00a0<\/p>\n<ul>\n<li>lien vers la librairie LibUSB (find_library(LIBUSB_LIBRARY_NAMES)) et find_path(LIBUSB_INCLUDE_DIR))<\/li>\n<li>Ajout de la librairie dans \u00ab\u00a0target_include_directories\u00a0\u00bb<\/li>\n<li>Ajout du lien avec target_link_libraries<\/li>\n<li>Mise en commentaire de l&rsquo;ancien target_link_libraries de LibUSB<\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbTexte\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%209%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb20px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_font_size=\u00a0\u00bb16px\u00a0\u00bb header_line_height=\u00a0\u00bb1.3em\u00a0\u00bb background_color=\u00a0\u00bb#000000&Prime; width=\u00a0\u00bb108px\u00a0\u00bb max_width=\u00a0\u00bb108px\u00a0\u00bb custom_margin=\u00a0\u00bb|0px|-42px|0px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|15px|2px|15px|false|false\u00a0\u00bb][\/et_pb_blurb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_text_color=\u00a0\u00bb#000000&Prime; background_color=\u00a0\u00bb#eff0f1&Prime; custom_margin=\u00a0\u00bb|||118px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb1%|1%|1%|1%|false|false\u00a0\u00bb border_width_top=\u00a0\u00bb10px\u00a0\u00bb border_color_top=\u00a0\u00bb#ff8080&Prime;][crayon lang=\u00a0\u00bbc\u00a0\u00bb theme=\u00a0\u00bbclassic\u00a0\u00bb title=\u00a0\u00bbCmakeLists.txt\u00a0\u00bb mark=\u00a0\u00bb42,43,45,46, 115,117,119-122&Prime;]<\/p>\n<p>cmake_minimum_required(VERSION 3.1)<br \/>\nproject(libuvc<br \/>\n  VERSION 0.0.6<br \/>\n  LANGUAGES C<br \/>\n)<\/p>\n<p># Additional search scripts path for libusb-1.0, libjpeg, OpenCV<br \/>\nlist(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}\/cmake)<\/p>\n<p># Xcode and Visual Studio do not using CMAKE_BUILD_TYPE cache variable<br \/>\n# so we use Release build type only with single configuration generators.<br \/>\nif (NOT CMAKE_CONFIGURATION_TYPES)<br \/>\n  if(NOT CMAKE_BUILD_TYPE)<br \/>\n    message(STATUS \u00ab\u00a0No build type selected, default to Release\u00a0\u00bb)<br \/>\n    set(CMAKE_BUILD_TYPE \u00ab\u00a0Release\u00a0\u00bb CACHE STRING \u00ab\u00a0\u00a0\u00bb FORCE)<br \/>\n  endif()<br \/>\nendif()<\/p>\n<p>if(NOT CMAKE_BUILD_TARGET)<br \/>\n    message(STATUS \u00ab\u00a0No target type selected, default to both shared and static library\u00a0\u00bb)<br \/>\n    set(CMAKE_BUILD_TARGET \u00ab\u00a0Both\u00a0\u00bb CACHE STRING \u00ab\u00a0\u00a0\u00bb FORCE)<br \/>\nendif()<\/p>\n<p>option(BUILD_EXAMPLE \u00ab\u00a0Build example program\u00a0\u00bb ON)<br \/>\noption(BUILD_TEST \u00ab\u00a0Build test program\u00a0\u00bb OFF)<br \/>\noption(ENABLE_UVC_DEBUGGING \u00ab\u00a0Enable UVC debugging\u00a0\u00bb OFF)<\/p>\n<p>set(libuvc_DESCRIPTION \u00ab\u00a0A cross-platform library for USB video devices\u00a0\u00bb)<br \/>\nset(libuvc_URL \u00ab\u00a0https:\/\/github.com\/libuvc\/libuvc\u00a0\u00bb)<\/p>\n<p>set(SOURCES<br \/>\n  src\/ctrl.c<br \/>\n  src\/ctrl-gen.c<br \/>\n  src\/device.c<br \/>\n  src\/diag.c<br \/>\n  src\/frame.c<br \/>\n  src\/init.c<br \/>\n  src\/stream.c<br \/>\n  src\/misc.c<br \/>\n)<\/p>\n<p>find_library(LIBUSB_LIBRARY_NAMES usb-1.0<br \/>\n\tPATHS \/opt\/local\/lib)<\/p>\n<p>find_path(LIBUSB_INCLUDE_DIR libusb-1.0\/libusb.h<br \/>\n\tPATHS \/opt\/local\/include)<\/p>\n<p>find_package(LibUSB)<\/p>\n<p># JpegPkg name to differ from shipped with CMake<br \/>\nfind_package(JpegPkg QUIET)<br \/>\nif(JPEG_FOUND)<br \/>\n  message(STATUS \u00ab\u00a0Building libuvc with JPEG support.\u00a0\u00bb)<br \/>\n  set(LIBUVC_HAS_JPEG TRUE)<br \/>\n  list(APPEND SOURCES src\/frame-mjpeg.c)<br \/>\nelse()<br \/>\n  message(WARNING \u00ab\u00a0JPEG not found. libuvc will not support JPEG decoding.\u00a0\u00bb)<br \/>\nendif()<\/p>\n<p>if(${CMAKE_BUILD_TARGET} MATCHES \u00ab\u00a0Shared\u00a0\u00bb)<br \/>\n  set(BUILD_UVC_SHARED TRUE)<br \/>\nelseif(${CMAKE_BUILD_TARGET} MATCHES \u00ab\u00a0Static\u00a0\u00bb)<br \/>\n  set(BUILD_UVC_STATIC TRUE)<br \/>\nelseif(${CMAKE_BUILD_TARGET} MATCHES \u00ab\u00a0Both\u00a0\u00bb)<br \/>\n  set(BUILD_UVC_SHARED TRUE)<br \/>\n  set(BUILD_UVC_STATIC TRUE)<br \/>\nelse()<br \/>\n  message(FATAL_ERROR \u00ab\u00a0Invalid build type ${CMAKE_BUILD_TARGET}\u00a0\u00bb )<br \/>\nendif()<\/p>\n<p>if(BUILD_UVC_SHARED)<br \/>\n  add_library(uvc SHARED ${SOURCES})<br \/>\n  set_target_properties(uvc PROPERTIES<br \/>\n    VERSION ${libuvc_VERSION}<br \/>\n    SOVERSION ${libuvc_VERSION_MAJOR}<br \/>\n    # Exported name of target within namespace LibUVC<br \/>\n    EXPORT_NAME UVCShared<br \/>\n  )<br \/>\n  list(APPEND UVC_TARGETS uvc)<br \/>\n  if(NOT LibUVC_STATIC)<br \/>\n    add_library(LibUVC::UVC ALIAS uvc)<br \/>\n  endif()<br \/>\n  # Aliases defined here available only if project included<br \/>\n  # via addsubdirectory<br \/>\n  add_library(LibUVC::UVCShared ALIAS uvc)<br \/>\nendif()<\/p>\n<p>if(BUILD_UVC_STATIC)<br \/>\n  add_library(uvc_static STATIC ${SOURCES})<br \/>\n  set_target_properties(uvc_static PROPERTIES<br \/>\n    OUTPUT_NAME uvc<br \/>\n    # Exported name of target within namespace LibUVC<br \/>\n    EXPORT_NAME UVCStatic<br \/>\n  )<br \/>\n  list(APPEND UVC_TARGETS uvc_static)<br \/>\n  add_library(LibUVC::UVCStatic ALIAS uvc_static)<br \/>\n  if(LibUVC_STATIC)<br \/>\n    add_library(LibUVC::UVC ALIAS uvc_static)<br \/>\n  endif()<br \/>\nendif()<\/p>\n<p>configure_file(include\/libuvc\/libuvc_config.h.in<br \/>\n  include\/libuvc\/libuvc_config.h<br \/>\n  @ONLY<br \/>\n)<\/p>\n<p>foreach(target_name IN LISTS UVC_TARGETS)<br \/>\n  target_include_directories(${target_name}<br \/>\n    PUBLIC<br \/>\n      # Different paths for includes for build and install phase supported<br \/>\n      # via INSTALL_INTERFACE and BUILD_INTERFACE generator expressions.<br \/>\n      $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}\/include><br \/>\n      $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}\/include><br \/>\n      $<INSTALL_INTERFACE:include><br \/>\n      ${LIBUSB_INCLUDE_DIR}<br \/>\n  )<br \/>\n  target_link_libraries(uvc ${LIBUSB_LIBRARY_NAMES})<\/p>\n<p>  # target_link_libraries(${target_name}<br \/>\n    # libusb-1.0 used internally so we link to it privately.<br \/>\n   # PRIVATE LibUSB::LibUSB<br \/>\n  #)<br \/>\n  if(JPEG_FOUND)<br \/>\n    target_link_libraries(${target_name}<br \/>\n      PRIVATE JPEG::JPEG<br \/>\n    )<br \/>\n  endif()<br \/>\n  set_target_properties(${target_name} PROPERTIES<br \/>\n      PUBLIC_HEADER \u00ab\u00a0include\/libuvc\/libuvc.h;${CMAKE_CURRENT_BINARY_DIR}\/include\/libuvc\/libuvc_config.h\u00a0\u00bb<br \/>\n  )<br \/>\n  if(ENABLE_UVC_DEBUGGING)<br \/>\n    target_compile_definitions(${target_name}<br \/>\n      PRIVATE<br \/>\n        UVC_DEBUGGING<br \/>\n    )<br \/>\n  endif()<br \/>\nendforeach()<\/p>\n<p>if(BUILD_EXAMPLE)<br \/>\n  add_executable(example src\/example.c)<br \/>\n  find_package(Threads)<br \/>\n  target_link_libraries(example<br \/>\n    PRIVATE<br \/>\n      LibUVC::UVC<br \/>\n      Threads::Threads<br \/>\n  )<br \/>\nendif()<\/p>\n<p>if(BUILD_TEST)<br \/>\n  # OpenCV defines targets with transitive dependencies not with namespaces but using opencv_ prefix.<br \/>\n  # This targets provide necessary include directories and linked flags.<br \/>\n  find_package(OpenCVPkg REQUIRED<br \/>\n    COMPONENTS<br \/>\n      opencv_core<br \/>\n      opencv_highgui<br \/>\n  )<\/p>\n<p>  add_executable(uvc_test src\/test.c)<br \/>\n  target_link_libraries(uvc_test<br \/>\n    PRIVATE<br \/>\n      LibUVC::UVC<br \/>\n      opencv_core<br \/>\n      opencv_highgui<br \/>\n  )<br \/>\nendif()<\/p>\n<p>include(GNUInstallDirs)<br \/>\nset(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}\/cmake\/libuvc)<\/p>\n<p>install(<br \/>\n  TARGETS ${UVC_TARGETS}<br \/>\n  EXPORT libuvcTargets<br \/>\n  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}<br \/>\n  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}<br \/>\n  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}<br \/>\n  INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}<br \/>\n  PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}\/libuvc<br \/>\n)<\/p>\n<p>install(EXPORT libuvcTargets<br \/>\n  FILE libuvcTargets.cmake<br \/>\n  NAMESPACE LibUVC::<br \/>\n  DESTINATION ${CMAKE_INSTALL_CMAKEDIR}<br \/>\n)<\/p>\n<p>install(FILES<br \/>\n    cmake\/FindLibUSB.cmake<br \/>\n    cmake\/FindJpegPkg.cmake<br \/>\n  DESTINATION ${CMAKE_INSTALL_CMAKEDIR}<br \/>\n)<\/p>\n<p>include(CMakePackageConfigHelpers)<br \/>\nwrite_basic_package_version_file(libuvcConfigVersion.cmake<br \/>\n  COMPATIBILITY AnyNewerVersion<br \/>\n)<\/p>\n<p>install(FILES<br \/>\n  ${CMAKE_CURRENT_BINARY_DIR}\/libuvcConfigVersion.cmake<br \/>\n  DESTINATION ${CMAKE_INSTALL_CMAKEDIR}<br \/>\n)<\/p>\n<p>if(JPEG_FOUND)<br \/>\n  # If we have used JPEG library we need to<br \/>\n  # add linker flag for it in config file for pkgconfig<br \/>\n  set(PKGCONFIG_JPEG_LDFLAG \u00ab\u00a0-ljpeg\u00a0\u00bb)<br \/>\nendif()<\/p>\n<p>configure_file(libuvc.pc.in<br \/>\n  ${PROJECT_BINARY_DIR}\/libuvc.pc<br \/>\n  @ONLY<br \/>\n)<\/p>\n<p>install(FILES<br \/>\n  ${CMAKE_CURRENT_BINARY_DIR}\/libuvc.pc<br \/>\n  DESTINATION ${CMAKE_INSTALL_LIBDIR}\/pkgconfig<br \/>\n)<\/p>\n<p>install(FILES libuvcConfig.cmake<br \/>\n  DESTINATION ${CMAKE_INSTALL_CMAKEDIR}<br \/>\n)<\/p>\n<p>[\/crayon][\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>Nous pouvons maintenant r\u00e9ouvrir Cmake, nous s\u00e9lectionnons l&rsquo;option \u00ab\u00a0Delete Cache\u00a0\u00bb dans \u00ab\u00a0File\u00a0\u00bb pour repartir de z\u00e9ro. Il faut renseigner les liens surlign\u00e9s en jaune pour avoir la m\u00eame configuration que nous :\u00a0<\/p>\n<p>[\/et_pb_text][et_pb_image src=\u00a0\u00bbhttps:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/cmake-libuvc.png\u00a0\u00bb alt=\u00a0\u00bbCompilation de la LibUVC avec Cmake\u00a0\u00bb title_text=\u00a0\u00bbCompilation de la LibUVC avec Cmake\u00a0\u00bb show_in_lightbox=\u00a0\u00bbon\u00a0\u00bb align=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb width=\u00a0\u00bb60%\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][\/et_pb_image][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>Ensuite, il faut cliquer sur Configure puis Generate. Nous ouvrons le terminal MSYS2 pour utiliser le makefile qui vient d&rsquo;\u00eatre cr\u00e9\u00e9 :<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbTerminal\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%209%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb20px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_font_size=\u00a0\u00bb16px\u00a0\u00bb header_line_height=\u00a0\u00bb1.3em\u00a0\u00bb background_color=\u00a0\u00bb#000000&Prime; width=\u00a0\u00bb135px\u00a0\u00bb max_width=\u00a0\u00bb135px\u00a0\u00bb custom_margin=\u00a0\u00bb||-42px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|15px|2px|15px|false|false\u00a0\u00bb][\/et_pb_blurb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_text_color=\u00a0\u00bb#000000&Prime; background_color=\u00a0\u00bb#eff0f1&Prime; custom_margin=\u00a0\u00bb|||145px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb1%|1%|1%|1%|false|false\u00a0\u00bb border_width_top=\u00a0\u00bb10px\u00a0\u00bb border_color_top=\u00a0\u00bb#ff8080&Prime;][crayon theme=\u00a0\u00bbanthoterm\u00a0\u00bb nums=\u00a0\u00bbfalse\u00a0\u00bb toolbar=\u00a0\u00bbfalse\u00a0\u00bb plain=\u00a0\u00bbfalse\u00a0\u00bb]<\/p>\n<p>cd \/c\/work\/libuvc1\/build<br \/>\nmake<\/p>\n<p>[\/crayon][\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>La LibUVC est maintenant compil\u00e9e. Nous allons devoir ajouter des fichiers .dll dans le r\u00e9pertoire \u00ab\u00a0C:\\work\\libuvc1\\build\u00a0\u00bb pour ex\u00e9cuter l&rsquo;example :<\/p>\n<ul>\n<li>libusb-1.0.dll<\/li>\n<\/ul>\n<ul>\n<li>libwinpthread-1.dll<\/li>\n<\/ul>\n<p>Ces fichiers se trouvent dans le r\u00e9pertoire \u00ab\u00a0C:\\msys64\\mingw64\\bin\u00a0\u00bb et nous les copions dans le build.<\/p>\n<p>Nous ouvrons maintenant l&rsquo;invit\u00e9 de commandes (CMD) de Windows pour ex\u00e9cuter l&rsquo;exemple.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb5px||5px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb border_width_all=\u00a0\u00bb2px\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_blurb title=\u00a0\u00bbTerminal\u00a0\u00bb use_icon=\u00a0\u00bbon\u00a0\u00bb font_icon=\u00a0\u00bb%%209%%\u00a0\u00bb icon_placement=\u00a0\u00bbleft\u00a0\u00bb use_icon_font_size=\u00a0\u00bbon\u00a0\u00bb icon_font_size=\u00a0\u00bb20px\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_font_size=\u00a0\u00bb16px\u00a0\u00bb header_line_height=\u00a0\u00bb1.3em\u00a0\u00bb background_color=\u00a0\u00bb#000000&Prime; width=\u00a0\u00bb135px\u00a0\u00bb max_width=\u00a0\u00bb135px\u00a0\u00bb custom_margin=\u00a0\u00bb||-42px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|15px|2px|15px|false|false\u00a0\u00bb][\/et_pb_blurb][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_text_color=\u00a0\u00bb#000000&Prime; background_color=\u00a0\u00bb#eff0f1&Prime; custom_margin=\u00a0\u00bb|||145px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb1%|1%|1%|1%|false|false\u00a0\u00bb border_width_top=\u00a0\u00bb10px\u00a0\u00bb border_color_top=\u00a0\u00bb#ff8080&Prime;][crayon theme=\u00a0\u00bbanthoterm\u00a0\u00bb nums=\u00a0\u00bbfalse\u00a0\u00bb toolbar=\u00a0\u00bbfalse\u00a0\u00bb plain=\u00a0\u00bbfalse\u00a0\u00bb]<\/p>\n<p>cd \\work\\libuvc1\\build<br \/>\nexample.exe<\/p>\n<p>[\/crayon][\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/libuvc-example.png\u00a0\u00bb alt=\u00a0\u00bbD\u00e9tection de notre cam\u00e9ra avec la librairie LibUVC\u00a0\u00bb title_text=\u00a0\u00bbD\u00e9tection de notre cam\u00e9ra avec la librairie LibUVC\u00a0\u00bb show_in_lightbox=\u00a0\u00bbon\u00a0\u00bb align=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime;][\/et_pb_image][et_pb_text _builder_version=\u00a0\u00bb4.8.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb]<\/p>\n<p>La premi\u00e8re ex\u00e9cution du programme s&rsquo;est faite sans cam\u00e9ra branch\u00e9e. En branchant la cam\u00e9ra, nous voyons que le dispositif est trouv\u00e9 (comme avec la librairie LibUSB). Cependant, il n&rsquo;est pas support\u00e9 par la librairie LibUVC.<\/p>\n<p>Nous faisons \u00e0 cet endroit un snapshot \u00ab\u00a06.1 &#8211; Compilation LibUVC avec Example OK\u00a0\u00bb.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Compilation des librairies LibUSB et LibUVC avec l&rsquo;environnement Msys2. Nous utilisons une machine virtuelle Windows pour la compilation.<\/p>\n","protected":false},"author":1,"featured_media":1347,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-1300","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Compilation LibUSB &amp; LibUVC avec Msys2 | Projet Cam\u00e9ra Thermique<\/title>\n<meta name=\"description\" content=\"Compilation des librairies LibUSB et LibUVC avec l&#039;environnement Msys2. Nous utilisons une machine virtuelle Windows pour la compilation.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Compilation LibUSB &amp; LibUVC avec Msys2 | Projet Cam\u00e9ra Thermique\" \/>\n<meta property=\"og:description\" content=\"Compilation des librairies LibUSB et LibUVC avec l&#039;environnement Msys2. Nous utilisons une machine virtuelle Windows pour la compilation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/\" \/>\n<meta property=\"og:site_name\" content=\"Raspi Thermo Cam - Projet Cam\u00e9ra Thermique\" \/>\n<meta property=\"article:modified_time\" content=\"2021-05-06T19:35:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/cmake-libuvc.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1093\" \/>\n\t<meta property=\"og:image:height\" content=\"845\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Compilation LibUSB &amp; LibUVC avec Msys2 | Projet Cam\u00e9ra Thermique\" \/>\n<meta name=\"twitter:description\" content=\"Compilation des librairies LibUSB et LibUVC avec l&#039;environnement Msys2. Nous utilisons une machine virtuelle Windows pour la compilation.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/cmake-libuvc.png\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/compilation-libusb-libuvc-msys2\\\/\",\"url\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/compilation-libusb-libuvc-msys2\\\/\",\"name\":\"Compilation LibUSB & LibUVC avec Msys2 | Projet Cam\u00e9ra Thermique\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/compilation-libusb-libuvc-msys2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/compilation-libusb-libuvc-msys2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/cmake-libuvc.png\",\"datePublished\":\"2021-02-25T17:03:55+00:00\",\"dateModified\":\"2021-05-06T19:35:14+00:00\",\"description\":\"Compilation des librairies LibUSB et LibUVC avec l'environnement Msys2. Nous utilisons une machine virtuelle Windows pour la compilation.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/compilation-libusb-libuvc-msys2\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/compilation-libusb-libuvc-msys2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/compilation-libusb-libuvc-msys2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/cmake-libuvc.png\",\"contentUrl\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/cmake-libuvc.png\",\"width\":1093,\"height\":845,\"caption\":\"Compilation de la LibUVC avec Cmake\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/compilation-libusb-libuvc-msys2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Compilation LibUSB &#038; LibUVC avec Msys2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/#website\",\"url\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/\",\"name\":\"Raspi Thermo Cam - Projet Cam\u00e9ra Thermique\",\"description\":\"Site web qui retrace la r\u00e9alisation d&#039;un projet de cam\u00e9ra thermique avec un Raspberry. Nous utilisons le module FLIR Lepton 3.5 avec un Raspberry Pi 400.\",\"publisher\":{\"@id\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/#\\\/schema\\\/person\\\/92186a88d3e51aa770548fabc8d16e06\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\\\/#\\\/schema\\\/person\\\/92186a88d3e51aa770548fabc8d16e06\",\"name\":\"Anthony LE PORS\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ff32c3852ab8cee9e1657174d156c802a9f0e1f3a3e0256a92e6ecc810f2383b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ff32c3852ab8cee9e1657174d156c802a9f0e1f3a3e0256a92e6ecc810f2383b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ff32c3852ab8cee9e1657174d156c802a9f0e1f3a3e0256a92e6ecc810f2383b?s=96&d=mm&r=g\",\"caption\":\"Anthony LE PORS\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ff32c3852ab8cee9e1657174d156c802a9f0e1f3a3e0256a92e6ecc810f2383b?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/anthony.lepors.fr\\\/raspi-thermo-cam\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Compilation LibUSB & LibUVC avec Msys2 | Projet Cam\u00e9ra Thermique","description":"Compilation des librairies LibUSB et LibUVC avec l'environnement Msys2. Nous utilisons une machine virtuelle Windows pour la compilation.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/","og_locale":"fr_FR","og_type":"article","og_title":"Compilation LibUSB & LibUVC avec Msys2 | Projet Cam\u00e9ra Thermique","og_description":"Compilation des librairies LibUSB et LibUVC avec l'environnement Msys2. Nous utilisons une machine virtuelle Windows pour la compilation.","og_url":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/","og_site_name":"Raspi Thermo Cam - Projet Cam\u00e9ra Thermique","article_modified_time":"2021-05-06T19:35:14+00:00","og_image":[{"width":1093,"height":845,"url":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/cmake-libuvc.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_title":"Compilation LibUSB & LibUVC avec Msys2 | Projet Cam\u00e9ra Thermique","twitter_description":"Compilation des librairies LibUSB et LibUVC avec l'environnement Msys2. Nous utilisons une machine virtuelle Windows pour la compilation.","twitter_image":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/cmake-libuvc.png","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/","url":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/","name":"Compilation LibUSB & LibUVC avec Msys2 | Projet Cam\u00e9ra Thermique","isPartOf":{"@id":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/#website"},"primaryImageOfPage":{"@id":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/#primaryimage"},"image":{"@id":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/#primaryimage"},"thumbnailUrl":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/cmake-libuvc.png","datePublished":"2021-02-25T17:03:55+00:00","dateModified":"2021-05-06T19:35:14+00:00","description":"Compilation des librairies LibUSB et LibUVC avec l'environnement Msys2. Nous utilisons une machine virtuelle Windows pour la compilation.","breadcrumb":{"@id":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/#primaryimage","url":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/cmake-libuvc.png","contentUrl":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-content\/uploads\/2021\/02\/cmake-libuvc.png","width":1093,"height":845,"caption":"Compilation de la LibUVC avec Cmake"},{"@type":"BreadcrumbList","@id":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/compilation-libusb-libuvc-msys2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/"},{"@type":"ListItem","position":2,"name":"Compilation LibUSB &#038; LibUVC avec Msys2"}]},{"@type":"WebSite","@id":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/#website","url":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/","name":"Raspi Thermo Cam - Projet Cam\u00e9ra Thermique","description":"Site web qui retrace la r\u00e9alisation d&#039;un projet de cam\u00e9ra thermique avec un Raspberry. Nous utilisons le module FLIR Lepton 3.5 avec un Raspberry Pi 400.","publisher":{"@id":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/#\/schema\/person\/92186a88d3e51aa770548fabc8d16e06"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/#\/schema\/person\/92186a88d3e51aa770548fabc8d16e06","name":"Anthony LE PORS","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/ff32c3852ab8cee9e1657174d156c802a9f0e1f3a3e0256a92e6ecc810f2383b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ff32c3852ab8cee9e1657174d156c802a9f0e1f3a3e0256a92e6ecc810f2383b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ff32c3852ab8cee9e1657174d156c802a9f0e1f3a3e0256a92e6ecc810f2383b?s=96&d=mm&r=g","caption":"Anthony LE PORS"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ff32c3852ab8cee9e1657174d156c802a9f0e1f3a3e0256a92e6ecc810f2383b?s=96&d=mm&r=g"},"sameAs":["https:\/\/anthony.lepors.fr\/raspi-thermo-cam"]}]}},"_links":{"self":[{"href":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-json\/wp\/v2\/pages\/1300","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-json\/wp\/v2\/comments?post=1300"}],"version-history":[{"count":0,"href":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-json\/wp\/v2\/pages\/1300\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-json\/wp\/v2\/media\/1347"}],"wp:attachment":[{"href":"https:\/\/anthony.lepors.fr\/raspi-thermo-cam\/wp-json\/wp\/v2\/media?parent=1300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}