我的主要目标是用Cmake建立一个基本的c++解决方案,在那里我可以使用PCL和OpenCV的功能来操作从Kinect for Windows传感器获取的数据。
我用:Windows的Kinect和SDK,因为OpenNI不兼容新版本的Kinect。https://github.com/avin2/SensorKinect将是一个解决方案,但它不适用于Windows 8(根据README文件)
然后我想,我将使用Cmake生成VS解决方案,我已经尝试过这个CMakeLists.txt:
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(MultiKinect)
add_executable(pcl pcl.cpp)
include_directories("C:/Program Files/Microsoft SDKs/Kinect/v1.6/inc")
link_directories("C:/Program Files/Microsoft SDKs/Kinect/v1.6/lib/x86")
target_link_libraries(pcl "C:/Program Files/Microsoft SDKs/Kinect/v1.6/lib/x86/Kinect10.lib")
但是我得到以下编译错误:
Error 1 error LNK2019: unresolved external symbol __imp_NuiGetSensorCount referenced in function main
Error 2 error LNK1120: 1 unresolved externals
代码:
#include <iostream>
#include <Windows.h>
#include <NuiApi.h>
int main (int argc, char** argv)
{
int number;
NuiGetSensorCount(&number);
return (0);
}
在未来,用Cmake生成c++解决方案会更容易,而不是在项目属性下设置适当的dirs。创建用于Windows Kinect的Visual Studio c++解决方案的首选方法是什么?
使用Visual Studio 10/Visual Studio 11生成器可以正常工作。我用的是Visual Studio 10 Win64生成器,这就是问题所在。