You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下安装MCC DAQ库后出现libusb未定义符号错误求助

解决方案:libusb版本过低导致未定义符号错误

问题根源

libusb_has_capability 是libusb-1.0.24及更高版本才新增的API,你当前安装的是libusb-1.0.23(从apt输出可见),系统库中不包含该符号,因此运行时触发未定义符号错误。

修复步骤

1. 卸载现有libusb-1.0包

sudo apt purge libusb-1.0-0 libusb-1.0-0-dev
sudo apt autoremove

2. 从源码编译安装新版libusb

# 安装编译依赖
sudo apt install build-essential pkg-config

# 下载最新稳定版libusb(可替换为官方最新版本号)
wget https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.tar.bz2
tar xf libusb-1.0.27.tar.bz2
cd libusb-1.0.27

# 编译安装
./configure --prefix=/usr
make
sudo make install
sudo ldconfig

3. 重新编译安装uldaq库

回到uldaq源码目录,清理之前的构建文件后重新编译:

cd /home/dvarx/Downloads/libuldaq-1.2.1
make clean
./configure
make
sudo make install
sudo ldconfig

4. 验证示例运行

./examples/AIn

补充说明

  • 你之前用nm查看系统libusb库无符号是因为发行版提供的共享库默认是**stripped(去除符号表)**的,可通过objdump -T /lib/x86_64-linux-gnu/libusb-1.0.so.0 | grep libusb_has_capability验证符号是否存在,或查看/usr/include/libusb-1.0/libusb.h中是否包含该函数声明。
  • configure阶段未报错是因为它仅检查了libusb_init这类基础API,未验证新增的libusb_has_capability函数。

内容的提问来源于stack exchange,提问作者Mantabit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 23:31:25