2017-03-17 98 views
0

我一直在试图让libfreenect2库启动并运行在我的Windows 10机器上,并且遇到了一个我无法过去的问题。我已经建立了图书馆,这是一些例子。我遇到的问题是当我去运行“Protonect”示例代码时。我得到的输出列示如下:Libfreenect2 USB连接失败

$ ./install/bin/Protonect.exe 
Version: 0.2.0 
Environment variables: LOGFILE=<protonect.log> 
Usage: U:\Repositories\libfreenect2\build\install\bin\Protonect.exe [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>] 
     [-noviewer] [-norgb | -nodepth] [-help] [-version] 
     [-frames <number of frames to process>] 
To pause and unpause: pkill -USR1 Protonect 
[Info] [Freenect2Impl] enumerating devices... 
[Info] [Freenect2Impl] 8 usb devices connected 
[Info] [Freenect2Impl] found valid Kinect v2 @12:2 with serial 003370163847 
[Info] [Freenect2Impl] found 1 devices 
Pipeline Not-Used 
libusb_open returned: -99 
BLAH BLAH BLAH 
[Error] [Freenect2Impl] failed to open Kinect v2: @12:2 LIBUSB_ERROR_OTHER Other error 
failure opening device! 

请忽略“BLAH BLAH BLAH”我使用的是作为print语句调试。我想我已经查明问题下降到的libusb库core.c文件libusb_open()函数本节的所有方式:

r = usbi_backend->open(_dev_handle); 
    if (r < 0) { 
     usbi_dbg("open %d.%d returns %d", dev->bus_number, dev->device_address, r); 
     libusb_unref_device(dev); 
     usbi_mutex_destroy(&_dev_handle->lock); 
     free(_dev_handle); 
     return r; 
    } 

我找不到错误代码-99东西,这样是我的调试结束。从我的理解看来,示例代码由于某种原因无法将USB设备打开到Kinect。

我已经用Kinect Studio使用Windows SDK测试了Kinect Studio,并且在拾取Kinect Feed时没有问题。有没有人遇到过这个问题,你是如何解决它的?对于错误代码意味着什么或者我如何解决USB开放问题有什么建议?

回答

0

问题最终导致解决问题。通过一系列的调试尝试,你可以在这里看到: https://github.com/OpenKinect/libfreenect2/issues/812#issuecomment-288143166

我结束了重新安装usbdk 1.0.17,神奇的一切都再次奏效。显然,usbdk 1.0.17存在一些问题,需要重新安装才能解决一些问题。 Idk为什么,但如果有人在将来遇到这个问题,这种方式我的修复。