解决海康相机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 优先使用系统默认库路径,可以有效解决问题。

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

相关推荐
格林威3 小时前
常规点光源在工业视觉检测上的应用
大数据·人工智能·数码相机·计算机视觉·视觉检测·制造·视觉光源
lxmyzzs5 小时前
成功解决NVIDIA Jetson docker环境下Opencv+Gstreamer 无法对rtsp相机拉流问题
人工智能·数码相机·opencv
猫林老师17 小时前
HarmonyOS多媒体开发:自定义相机与音频播放器实战
数码相机·音视频·harmonyos
黄卷青灯7720 小时前
标定参数从相机模组读出来
数码相机·相机内参
黄卷青灯7721 小时前
标定系数为什么会存储在相机模组里面,在标定的时候,算法是在割草机的X3板上运行的啊?
数码相机·算法·相机内参
黄卷青灯771 天前
相机模组,模组是什么意思?
数码相机·相机模组
格林威1 天前
近红外工业相机的简单介绍和场景应用
人工智能·深度学习·数码相机·计算机视觉·视觉检测·制造·工业相机
格林威2 天前
偏振相机在半导体制造的领域的应用
人工智能·深度学习·数码相机·计算机视觉·视觉检测·制造
学slam的小范2 天前
【Ubuntu18.04 D435i RGB相机与IMU标定详细版(一)】
数码相机
学slam的小范2 天前
【Ubuntu18.04 D435i RGB相机与IMU标定详细版(三)】
数码相机