安裝海康威視相機SDK后,catkin_make其他項目時,出現“libusb_set_option”錯誤的解決方法

硬件:雷神MIX G139H047LD 工控機

系統:ubuntu20.04

之前運行某項目時,處于正常狀態。后來由于要使用海康威視工業相機(型號:MV-CA013-21UC),便下載了并安裝了該相機的SDK,之后運行原本正常的項目,就會出現以下錯誤:

/usr/bin/ld: …/…/lib/libpcl_io.so.1.8.0: undefined reference to `libusb_set_option’

?由于該錯誤中出現了 libpcl,錯誤以為是前期安裝編譯pcl存在問題,故開始進行pcl1.8.1版本的安裝和編譯,這個過程中出現了很多error,再全部解決之后,終于pcl編譯成功了,

?原本以為這次可以順利通過項目編譯,但是再次出現了“/usr/bin/ld: …/…/lib/libpcl_io.so.1.8.0: undefined reference to `libusb_set_option’”的error,思考之后,覺得可能是海康威視相機SDK導致的該錯誤。正好看到以下文章,也是解決這個錯誤,便借鑒了以下文章。

https://blog.csdn.net/qq_40301351/article/details/144818802?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522feb47a6e9229e901500bcd662d336f6f%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=feb47a6e9229e901500bcd662d336f6f&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-144818802-null-null.142^v101^pc_search_result_base7&utm_term=undefined%20reference%20to%20%60libusb_set_option&spm=1018.2226.3001.4187https://blog.csdn.net/qq_40301351/article/details/144818802?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522feb47a6e9229e901500bcd662d336f6f%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=feb47a6e9229e901500bcd662d336f6f&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-144818802-null-null.142^v101^pc_search_result_base7&utm_term=undefined%20reference%20to%20%60libusb_set_option&spm=1018.2226.3001.4187

出現上述error的原因在于:

安裝海康相機SDK后,系統原本的 libusb 依賴會被重新鏈接到海康SDK指定的路徑。由于 libusb 是許多外設程序的重要依賴庫,這種更改可能導致其他設備驅動或程序(例如使用系統默認 libusb 的程序)出現沖突,從而引發上述錯誤。

解決方法:

1、查看環境變量配置

echo $LD_LIBRARY_PATH

在終端運行上述命令后,輸出:

jiangqiang@jiangqiang:~$ echo $LD_LIBRARY_PATH?

/home/jiangqiang/jiangqiang/wk/livox_ros_driver_ws/devel/lib:/opt/ros/noetic/lib:/opt/MVS/lib/64:/opt/MVS/lib/32:/usr/lib/x86_64-linux-gnu:/opt/MVS/lib/64:/opt/MVS/lib/32:/opt/MVS/lib/64:/opt/MVS/lib/32:/usr/local/cuda-12.3/lib64

?出現了包含“MVS”字母的環境變量,這些代表的是海康威視(Hikvision)MVS(Machine Vision Software)的庫路徑,而且LD_LIBRARY_PATH 的順序決定了動態庫的查找優先級。位于前面的MVS路徑會優先被查找,因此項目原本使用的默認動態庫的鏈接路徑/usr/lib/x86_64-linux-gnu無法找到。因此報錯。

2、打開bashrc

sudo gedit ~/.bashrc

通過搜索將出現“MVS”的所在語句全部注釋掉,同時,在文件末尾添加以下一行:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

?/usr/lib/x86_64-linux-gnu 是系統默認的 libusb 路徑。如果有多個默認路徑,請確保所有可能的系統庫路徑都在 LD_LIBRARY_PATH 變量中優先級靠前。

3、保存bashrc文件

source ~/.bashrc

4、重新在工作空間中編譯,編譯能夠順利通過。

注意:以上這種方式存在不足,具體在于:如果這個項目同時需要用到海康威視相機時,通過上述方法會導致相機不可用,這種情況下,還可以在CMakeLists.txt中設置項目的鏈接路徑。

即:在 CMakeLists.txt 中設置鏈接 libusb 的路徑為 /usr/lib/x86_64-linux-gnu

使用 find_package 查找 libusb:

CMake 提供了 find_package 來查找系統安裝的庫。對于 libusb,可以使用以下代碼:

find_package(libusb REQUIRED)

?然后將bashrc里面的有關“MVS”的語句的注釋全部取消。

運行項目代碼,可以正常運行。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896086.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896086.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896086.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

人工智能之自動駕駛技術體系

自動駕駛技術體系 自動駕駛技術是人工智能在交通領域的重要應用,旨在通過計算機視覺、傳感器融合、路徑規劃等技術實現車輛的自主駕駛。自動駕駛不僅能夠提高交通效率,還能減少交通事故和環境污染。本文將深入探討自動駕駛的技術體系,包括感…

淺談模組-相機鬼像

一.前言 在成像中,我們常常會遇到肉眼觀測的真實世界中,不存在的異常光影出現在畫面中,并伴有各種顏色,我們將這個物體稱為鬼像。某些鬼像可能會對圖像產生美感的體驗,但是大多數的鬼像都會對圖像的質量以…

vmware虛擬機Ubuntu Desktop系統怎么和我的電腦相互復制文件、內容

1、先安裝vmware workstation 17 player,然后再安裝Ubuntu Desktop虛擬機,然后再安裝vmware tools,具體可以參考如下視頻: VMware虛擬機與主機實現文件共享,其實一點也不難_嗶哩嗶哩_bilibili 2、本人親自試過了&…

Spring Boot項目中解決跨域問題(四種方式)

目錄 一,跨域產生的原因二,什么情況下算跨域三,實際演示四,解決跨域的方法 1,CrossOrigin注解2,添加全局過濾器3,實現WebMvcConfigurer4,Nginx解決跨域5,注意 開發項目…

Oracle JDK、Open JDK zulu下載地址

一、Oracle JDK https://www.oracle.com/java/technologies/downloads/ 剛進去是最新的版本,往下滑可以看到老版本 二、Open JDK的 Azul Zulu https://www.azul.com/downloads/ 直接可以選版本等選項卡

軟件測試:1、單元測試

1. 單元測試的基本概念 單元(Unit):軟件系統的基本組成單位,可以是函數、模塊、方法或類。 單元測試(Unit Testing):對軟件單元進行的測試,驗證代碼的正確性、規范性、安全性和性能…

Leetcode.264 丑數 II

題目鏈接 Leetcode.264 丑數 II mid 題目描述 給你一個整數 n n n ,請你找出并返回第 n n n 個 丑數 。 丑數 就是質因子只包含 2 2 2、 3 3 3 和 5 5 5 的正整數。 示例1: 輸入:n 10 輸出:12 解釋:[1, 2, 3,…

瑞芯微RV1126部署YOLOv8全流程:環境搭建、pt-onnx-rknn模型轉換、C++推理代碼、錯誤解決、優化、交叉編譯第三方庫

目錄 1 環境搭建 2 交叉編譯opencv 3 模型訓練 4 模型轉換 4.1 pt模型轉onnx模型 4.2 onnx模型轉rknn模型 4.2.1 安裝rknn-toolkit 4.2.2 onn轉成rknn模型 5 升級npu驅動 6 C++推理源碼demo 6.1 原版demo 6.2 增加opencv讀取圖片的代碼 7 交叉編譯x264 ffmepg和op…

【Python爬蟲(32)】從單飛 to 團戰:Python多線程爬蟲進化史

【Python爬蟲】專欄簡介:本專欄是 Python 爬蟲領域的集大成之作,共 100 章節。從 Python 基礎語法、爬蟲入門知識講起,深入探討反爬蟲、多線程、分布式等進階技術。以大量實例為支撐,覆蓋網頁、圖片、音頻等各類數據爬取&#xff…

C#初級教程(1)——C# 與.NET 框架:探索微軟平臺編程的強大組合

圖片來源: https://www.lvhang.site/docs/dotnettimeline 即夢AI - 一站式AI創作平臺 一、歷史發展脈絡 在早期的微軟平臺編程中,常用的編程語言有 Visual Basic、C、C。到了 20 世紀 90 年代末,Win32 API、MFC(Microsoft Found…

【接口封裝】——13、登錄窗口的標題欄內容設置

解釋&#xff1a; 1、封裝內容&#xff1a;圖標、文本內容、寬度 2、ui.iconLabel&#xff1a;在UI文件中的自定義命名 3、引入頭文件&#xff1a;#include<qpixmap.h> 函數定義&#xff1a; #pragma once#include <QWidget> #include "ui_TitleBar.h"cl…

DeepSeek全生態接入指南:官方通道+三大云平臺

DeepSeek全生態接入指南&#xff1a;官方通道三大云平臺 一、官方資源入口 1.1 核心交互平臺 &#x1f5a5;? DeepSeek官網&#xff1a; https://chat.deepseek.com/ &#xff08;體驗最新對話模型能力&#xff09; 二、客戶端工具 OllamaChatboxCherry StudioAnythingLLM …

web安全:跨站請求偽造 (CSRF)

跨站請求偽造 (CSRF) ? 跨站請求偽造&#xff08;CSRF&#xff0c;Cross-Site Request Forgery&#xff09; 是一種網絡攻擊方式&#xff0c;攻擊者誘使受害者在未經其授權的情況下執行特定操作。CSRF 利用受害者已登錄的身份和瀏覽器自動發送的認證信息&#xff08;如 Cooki…

前端ES面試題及參考答案

目錄 let/const 與 var 的區別?TDZ 是什么? 箭頭函數與普通函數的區別?箭頭函數能否作為構造函數? 模板字符串的嵌套表達式和標簽模板用法? 解構賦值的應用場景及對象 / 數組解構差異? 函數參數默認值的生效條件及暫時性死區問題? 展開運算符(...)在數組 / 對象中…

Windows 圖形顯示驅動開發-查詢 WDDM(3.2) 功能支持和啟用

查詢 Windows 顯示驅動程序模型 (WDDM) 功能的支持和啟用。 其中介紹了&#xff1a; 用戶模式和內核模式顯示驅動程序&#xff08;UMD 和 KMD&#xff09;如何查詢 OS&#xff0c;以確定 WDDM 功能在系統上是否受支持和已啟用。 OS 如何確定驅動程序是否支持特定的 WDDM 功能…

MySQL InnoDB 存儲引擎的索引詳解

在 MySQL 中&#xff0c;InnoDB 是最常用的存儲引擎&#xff0c;它支持事務、行級鎖和外鍵約束等功能&#xff0c;而索引則是提升數據庫查詢性能的關鍵。在 InnoDB 存儲引擎中&#xff0c;索引不僅僅是提高查詢速度的工具&#xff0c;還是數據庫的核心組成部分之一。本文將詳細…

基于Spring Boot的RabbitMQ延時隊列技術實現

文章目錄 基于Spring Boot的RabbitMQ延時隊列技術實現延時隊列應用場景基本概念實現延時隊列添加依賴基礎配置配置類設計消息生產者消息消費者 兩種TTL設置方式 訂單超時關閉實例訂單服務消息處理 延遲消息插件安裝插件配置延遲交換機 基于Spring Boot的RabbitMQ延時隊列技術實…

畢業項目推薦:基于yolov8/yolov5/yolo11的番茄成熟度檢測識別系統(python+卷積神經網絡)

文章目錄 概要一、整體資源介紹技術要點功能展示&#xff1a;功能1 支持單張圖片識別功能2 支持遍歷文件夾識別功能3 支持識別視頻文件功能4 支持攝像頭識別功能5 支持結果文件導出&#xff08;xls格式&#xff09;功能6 支持切換檢測到的目標查看 二、數據集三、算法介紹1. YO…

【智能客服】ChatGPT大模型話術優化落地方案

本文原創作者:姚瑞南 AI-agent 大模型運營專家,先后任職于美團、獵聘等中大廠AI訓練專家和智能運營專家崗;多年人工智能行業智能產品運營及大模型落地經驗,擁有AI外呼方向國家專利與PMP項目管理證書。(轉載需經授權) 目錄 一、項目背景 1.1 行業背景 1.2 業務現…

STM32的HAL庫開發---單通道ADC采集(DMA讀取)實驗

一、實驗簡介 正常單通道ADC采集順序是先開啟ADC采集&#xff0c;然后等待ADC轉換完成&#xff0c;也就是判斷EOC位置1&#xff0c;然后再讀取數據寄存器的值。 如果配置了DMA功能&#xff0c;在EOC位被硬件置1后&#xff0c;自動產生DMA請求&#xff0c;然后DMA進行數據搬運…