在Qt5项目中使用Nite2

在Qt5项目中使用Nite2,qt,openni,nite,Qt,Openni,Nite,我正在尝试使用Visual Studio 2012在Qt 5项目中使用Nite 2制作Kinect骨架跟踪器。我在项目的属性中包含了所有必要的文件夹。Qt工作正常,但对Nite的初始化调用始终返回状态\u ERROR。我试着在一个非Qt程序中初始化Nite,结果很好,所以问题似乎与Qt有关。我能够在Qt项目中初始化OpenNI // main.cpp int main(int argc, char* argv[]) { QApplication app(argc, argv);

我正在尝试使用Visual Studio 2012在Qt 5项目中使用Nite 2制作Kinect骨架跟踪器。我在项目的属性中包含了所有必要的文件夹。Qt工作正常,但对Nite的初始化调用始终返回状态\u 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\u ERROR)。我尝试将REDIST目录的内容复制到项目文件夹中,但没有任何帮助。

问题是Qt5目前不适用于NiTE,但Qt4适用。使用Qt4.8.5(在VisualStudio2010中)效果很好。请注意,Qt 4只有32位,因此您需要使用32位版本的OpenNI和NiTE。

如果QtCreator中也返回上述错误,您是否也尝试过?我尝试为OpenNI和NiTE添加一个新库,但Qt仍然无法识别其中任何一个的头文件。这是什么意思“Qt仍然无法识别其中任何一个的头文件”?它表示没有此类文件或目录。请按原样粘贴整个错误。另外,在QtCreator或Visual Studio中?