我想安装一些库,以便按照以下链接在 Raspberry 中连接 Kinect 360:http://www.kdab.com/setting-up-kinect-for-programming-in-linux-part-1/

首先,我在 Ubuntu 上检查了这个,一切都很好。
但是,当我想构建 libfreenect(使用 make)时,会显示此错误:

../lib/libfreenect.so.0.5.2: undefined reference to 'lisusb_get_parent'
collect2: ld returned 1 exit status

我是树莓派的新手,我不知道如何解决这个问题。

任何帮助表示赞赏! :)

谢谢!

最佳答案

我遇到了同样的问题,从 Raspbian 2015-02-16 的全新安装开始。显然(基于 this ),您使用 apt-get 获得的 libusb 版本是旧的。根据该链接和其他地方的建议,我的解决方法是从更新的来源构建 libusb 并说服 libfreenect 使用它:

获取编译 libusb 和 libfreenect 所需的软件包:

sudo apt-get install git cmake build-essential
sudo apt-get install freeglut3-dev libxmu-dev libxi-dev
sudo apt-get install libudev-dev

删除现有的 libusb,如果它在那里:
sudo apt-get remove libusb-1.0-0-dev

获取 libusb-1.0.18 的源代码:
wget http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.18/libusb-1.0.18.tar.bz2
tar -xvf libusb-1.0.18.tar.bz2

构建并安装更新的 libusb:
cd libusb-1.0.18/
./configure --prefix=/usr --disable-static
make
sudo make install

丑陋的黑客说服 libfreenect 使用新的 libusb 库:
sudo ln -s /usr/lib/libusb-1.0.so /usr/lib/arm-linux-gnueabihf/libusb-1.0.so

然后你应该能够构建 libfreenect。

关于makefile - 对 libusb_get_parent() 的 undefined reference - 编译 freenect,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28835794/

10-12 03:34