Kinectv2驱动libfreenect2安装+Win10+VS2017
libfreenect2 是一个针对 Kinect v2 的非官方驱动,开源于 GitHub。安装过程需要在 Windows 10 系统上使用 Visual Studio 2017,并依赖 UsbDK、libusb、TurboJPEG 和 GLFW 库。依赖库的安装顺序为:UsbDK、libusb、TurboJPEG 和 GLFW。编译时需要指定 Visual Studio 15 2017 Win64 作为编译器以确保编译为 64 位程序。安装成功后,运行 Protonect.exe 可以实时显示 Kinect 2 的四幅图像。
Kinectv2驱动libfreenect2安装+Win10+VS2017
libfreenect2 是针对Kinect v2的非官方驱动,开源于github。
在工程中需要通过Kinectv2获取实时场景点云,在此记录libfreenect2的安装过程。
安装说明
安装过程主要来源于github安装说明,同时,我们还参考了以下两个教程:第一篇安装教程和第二篇安装教程。
安装环境:Win10(x64) + Visual Studio 2017 + cmake
安装版本(均为x64):
- libfreenect2
 - UsbDk - 1.0.22
 - libusb - 1.0.23
 - libjpeg-turbo - 2.0.4-vc64
 - glfw - 3.3.2
 
详细安装过程
依赖库安装
依次安装下列必要的依赖库(不必要的依赖库根据需要自行安装):
1、UsbDK,下载最新x64安装包;
- 访问GitHub仓库libusb,获取最新
.7z压缩包,解压至libfreenect2\depends\libusb(将文件夹libusb-1.x.y重命名为libusb),无需运行.cmd或其他文件。 
3、TurboJPEG,获取最新的安装文件-vc64.exe,并将其配置到指定位置,如libfreenect2\depends\libjpeg-turbo64文件夹或其他选定目录。为TurboJPEGRoot环境变量指定值,使其指向libjpeg-turbo64文件夹所在的位置。
4、GLFW,获取.WIN64压缩文件包,解压至指定路径libfreenect2\depends\glfw,或选择其他存储位置。将文件夹名从glfw-3.x.y.bin.WIN64更改为glfw。为系统添加环境变量GLFW_ROOT,其值定位glfw文件夹所在位置。
编译
进入libfreenect2/文件夹后,启动cmd或git bash。
依次输入以下指令(每输入一行按一次Enter键,并等待命令运行完成)
    mkdir build && cd build/
    cmake .. -G "Visual Studio 15 2017 Win64"
    cmake --build . --config RelWithDebInfo --target install
        在执行上述指令进行编译过程中可能产生的问题
1、在使用cmake指令的过程中,可能会出现找不到cmake指令的提示:
    $ cmake ..
    bash: cmake: command not found
        原因:配置cmake时,默认情况下不将安装目录默认添加到环境变量Path中,因此导致在cmd或bash中无法直接调用cmake指令。
将cmake安装目录下的bin文件夹加入系统环境变量Path中,例如D:\Program Files\CMake\bin。在注销系统之前,保存环境变量配置以确保修改生效。
在运行cmake -G指令时,可能会遇到无法找到TurboJPEG等包的编译错误:建议在遇到该错误时,可以尝试安装相关的TurboJPEG依赖包,或者检查项目配置文件以确保依赖信息正确无误。
    -- using tinythread as threading library
    -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
    -- Found LibUSB: D:/.../libfreenect2/depends/libusb/MS64/dll/libusb-1.0.lib
    -- Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
    -- Could NOT find TegraJPEG (missing: TegraJPEG_LIBRARIES TegraJPEG_INCLUDE_DIRS TegraJPEG_WORKS)
    
    -- Performing Test TURBOJPEG_WORKS
    -- Performing Test TURBOJPEG_WORKS - Failed
    CMake Error at D:/.../Modules/FindPackageHandleStandardArgs.cmake:146 (message):
    Could NOT find TurboJPEG (missing: TURBOJPEG_WORKS)
    Call Stack (most recent call first):
    D:/.../Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE):
    cmake_modules/FindTurboJPEG.cmake:66 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
    CMakeLists.txt:240 (FIND_PACKAGE)
    
    -- Configuring incomplete, errors occurred!
    See also "D:/.../libfreenect2/build/CmakeFiles/CmakeOutput.log"
    See also "D:/.../libfreenect2/build/CmakeFiles/CmakeError.log"
        原因在于,由于在cmake编译指令中,默认编译为Win32程序(x86),导致了编译错误。cmake的具体编译错误可以查看CmakeError.log,其中包含错误提示信息:
    C:\libjpeg-turbo64\lib\turbojpeg.lib : warning LNK4272: 库计算机类型“x64”与目标计算机类型“x86”冲突。
        建议在64位系统中,需在编译器选项中添加64位标志以编译64位程序。
具体操作如下:在cmake -G指令中设置编译器为'Visual Studio 15 2017 Win64',其主要作用是指导编译器在Visual Studio 2017开发环境中处理64位程序的构建。
运行
进入指定目录libfreenect2\build\bin\RelWithDebInfo,启动Protonect.exe程序,运行后若实时显示四幅Kinect2图像,则表明libfreenect2已成功安装,如图所示。

