1

我的主要目标是使用 Cmake 建立一个基本的 c++ 解决方案,在那里我可以使用 PCL 和 OpenCV 的功能来处理从 Kinect for Windows 传感器获取的数据。

我使用: - Kinect for Windows 和 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++ 解决方案会更容易,而不是在项目属性下设置适当的目录。创建与 Kinect for Windows 一起使用的 Visual Studio C++ 解决方案的首选方法是什么?

4

1 回答 1

1

使用 Visual Studio 10 / Visual Studio 11 生成器可以正常工作。我使用了 Visual Studio 10 Win64 生成器,这就是问题所在。

于 2012-12-25T14:33:39.743 回答