我正在使用 cmake 安装名为 bladeRF 的软件。发生以下错误:
$ cmake -DCMAKE_INSTALL_PREFIX=~/user/local ../
CMake Error at host/libraries/libbladeRF/CMakeLists.txt:104 (message):
No libbladeRF backends are enabled. Please enable one or more backends.
因此我尝试向 cmake 添加一些标志:
$ cmake -DCMAKE_INSTALL_PREFIX=~/user/local -DENABLE_BACKEND_USB=ON -DENABLE_BACKEND_LIBUSB=ON ../
CMake Error at host/libraries/libbladeRF/CMakeLists.txt:203 (message):
libusb-1.0 not found. This is required to use the libbladeRF libusb
backend. For binary releases, try setting LIBUSB_PATH.
然后,我使用以下命令搜索 libusb1.0 的路径:
$ dpkg -L libusb-1.0-0
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libusb-1.0-0
/usr/share/doc/libusb-1.0-0/changelog.gz
/usr/share/doc/libusb-1.0-0/README
/usr/share/doc/libusb-1.0-0/changelog.Debian.gz
/usr/share/doc/libusb-1.0-0/copyright
/lib
/lib/arm-linux-gnueabihf
/lib/arm-linux-gnueabihf/libusb-1.0.so.0.1.0
/lib/arm-linux-gnueabihf/libusb-1.0.so.0
这样 libusb 就安装好了。然后我向 cmake 添加了另一个标志:
cmake -DCMAKE_INSTALL_PREFIX=~/user/local -DENABLE_BACKEND_USB=ON -DENABLE_BACKEND_LIBUSB=ON -LIBUSB_PATH=/lib/arm-linux-gnueabihf ../
CMake Error at host/libraries/libbladeRF/CMakeLists.txt:203 (message):
libusb-1.0 not found. This is required to use the libbladeRF libusb
backend. For binary releases, try setting LIBUSB_PATH.
我甚至尝试过以下两种方法:
export LIBUSB_PATH=/lib/arm-linux-gnueabihf
export PKG_CONFIG_PATH=/lib/arm-linux-gnueabihf
这些也不起作用。我该如何帮助 cmake 找到 libusb 的路径?
更新:gcc -v 似乎显示它在 /usr 中搜索,而 libusb 安装在 /lib 中。这是正确的吗?
答案1
通常在构建软件时,你需要发展版本的库。
您想要libusb-1.0-0-dev
安装
答案2
我遇到了完全相同的问题。我的解决方案是执行以下操作:
sudo apt install libusb-1.0-0
sudo apt install libusb-1.0-0-dev
然后我尝试了几次,但 cmake 不起作用,即使 libusb 显示 ( dpkg -L libusb-1.0-0 libusb1.0-0-dev
)。然后我重新启动 ( sudo reboot now
),一旦我重新登录,就从克隆的 repo 返回 bladeRF/host 文件夹,只需执行mkdir build
, cd build
,cmake ..
它就成功了。祝你好运!