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 ディレクトリの内容をプロジェクト フォルダにコピーしようとしましたが、役に立ちませんでした。