解决海康相机SDK导致 `libusb_set_option` 问题的经验总结

在使用海康相机SDK时,可能会遇到以下问题:


问题描述

当编译某些ROS代码时,出现类似错误:

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


原因分析

安装海康相机SDK后,系统原本的 libusb 依赖会被重新链接到海康SDK指定的路径。

由于 libusb 是许多外设程序的重要依赖库,这种更改可能导致其他设备驱动或程序(例如使用系统默认 libusb 的程序)出现冲突,从而触发上述错误。


解决方法

为了解决 libusb 路径冲突问题,需要手动调整环境变量 LD_LIBRARY_PATH,让系统程序优先使用系统默认的 libusb 版本。

以下是详细步骤:

1. 检查环境变量配置

打开终端,检查当前 LD_LIBRARY_PATH 配置:

bash 复制代码
echo $LD_LIBRARY_PATH

解决海康SDK与libusb路径冲突问题

在某些情况下,安装海康SDK后,系统中的 libusb 可能与海康SDK中的版本发生冲突,导致其他依赖 libusb 的程序出现问题。以下是解决此问题的步骤:

1. 检查冲突源

如果输出中包含海康SDK的路径,例如 /path/to/hikvision/sdk/lib,这可能是冲突的来源。

2. 修改 ~/.bashrc

为确保优先使用系统默认的 libusb,可以通过调整 ~/.bashrc 配置文件来重新设置 LD_LIBRARY_PATH

在文件末尾添加以下一行:

bash 复制代码
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

说明

/usr/lib/x86_64-linux-gnu 是系统默认的 libusb 路径,根据你的系统架构可能有所不同。如果有多个默认路径,请确保所有可能的系统库路径都在 LD_LIBRARY_PATH 变量中优先级靠前。

3. 应用更改

保存并关闭文件后,在终端执行以下命令使修改生效:

bash 复制代码
source ~/.bashrc

4. 检查是否解决问题

重新运行导致错误的程序,确认问题是否解决。如果仍有问题,可以检查程序实际加载的 libusb 版本:

bash 复制代码
ldd /path/to/your/executable | grep libusb

确保输出路径正确

确保输出中显示的路径为 /usr/lib/x86_64-linux-gnu/libusb.so 或系统默认路径,而不是海康SDK的路径。

进一步优化

特定程序设置环境变量

如果你只希望某些程序使用默认的 libusb,可以在运行这些程序时临时设置 LD_LIBRARY_PATH

bash 复制代码
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH ./your_program

总结

安装海康SDK后,路径冲突问题可能影响到其他依赖 libusb 的程序。通过调整 LD_LIBRARY_PATH 优先使用系统默认库路径,可以有效解决问题。

希望本文对遇到类似问题的朋友有所帮助!如果你有更好的解决方法,欢迎交流! 😊

相关推荐
格林威5 小时前
C#图像快速剪切:使用OpenCvSharp和Halcon优化图像剪切和CPU占用
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
亨得利先生12 小时前
户外双目3D相机哪家好?SICK Visionary 系列户外选型指南与 Visionary-B Two 分析
数码相机·相机·户外相机·户外3d相机·sick
格林威1 天前
C#高位深相机图像保存:12位16位图像保存方案,OpenCvSharp和Halcon实现
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
CoderIsArt2 天前
基于Halcon的T恤印花缺陷检测程序
人工智能·数码相机·计算机视觉
高升说2 天前
双目立体视觉:视差测距为何离不开散斑
数码相机
安之眼Angleyes3 天前
运动相机的“盲拍”困局与AX10的解法:AR实时预览+AI双引擎,让所见即所得
人工智能·数码相机·ar
高升说3 天前
光与影的邂逅-09-太亮的地方
数码相机·深度相机
高升说4 天前
光与影的邂逅-08-丢失的光
数码相机·深度相机
CVer儿5 天前
ras转为lps坐标系
数码相机
恒锐丰小瑞5 天前
率能SS6810R 40V/1A/双通道H桥驱动芯片,PWM电流控制与混合衰减模式(eTSSOP20),用于POS打印机/安防相机/机器人
单片机·嵌入式硬件·数码相机·机器人