我正在尝试使用 Visual Studio 2012 在 Qt 5 项目中使用 Nite 2 制作 Kinect 骨架跟踪器。我在项目属性中包含了所有必要的文件夹。Qt 工作正常,但对 Nite 的初始化调用总是返回 STATUS_ERROR。我尝试在非 Qt 程序中初始化 Nite,它运行良好,所以问题似乎与 Qt 有关。我能够在 Qt 项目中初始化 OpenNI。
// main.cpp
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
KinectWindow a;
a.show();
return app.exec();
}
// KinectWindow constructor
KinectWindow::KinectWindow(void)
: QWidget()
{
nite::Status status;
status = nite::NiTE::initialize();
if (status == nite::STATUS_ERROR)
{
exit(0);
}
else if (status == nite::STATUS_BAD_USER_ID)
{
exit(0);
}
else if (status == nite::STATUS_OUT_OF_FLOW)
{
exit(0);
}
}
程序总是进入 if(status == nite::STATUS_ERROR)。我尝试将 REDIST 目录的内容复制到项目文件夹,但没有帮助。