我想安装一些库,以便通过以下链接连接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
Run Code Online (Sandbox Code Playgroud)
我是Raspberry的新手,我不知道如何解决这个问题.
任何帮助表示赞赏!! :)
谢谢!
小智 8
我遇到了同样的问题,从全新安装的Raspbian 2015-02-16开始.显然(基于此),你用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
Run Code Online (Sandbox Code Playgroud)
删除现有的libusb,如果它在那里:
sudo apt-get remove libusb-1.0-0-dev
Run Code Online (Sandbox Code Playgroud)
获取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
Run Code Online (Sandbox Code Playgroud)
构建并安装更新的libusb:
cd libusb-1.0.18/
./configure --prefix=/usr --disable-static
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
丑陋的黑客说服libfreenect使用新的libusb库:
sudo ln -s /usr/lib/libusb-1.0.so /usr/lib/arm-linux-gnueabihf/libusb-1.0.so
Run Code Online (Sandbox Code Playgroud)
然后你应该能够构建libfreenect.