我正在尝试使用GUI构建Kinect应用程序,所以我自然而然地选择使用Qt。我按照Kinect示例" Color Basic-D2D"由Kinect开发人员工具包提供,我在Visual Studio 2010中运行了一个很好的例子。但是,当我将项目导出到Qt创建者并尝试在那里运行时,我收到以下错误:
C:\ KinectProjects \ ColorBasics-D2D \ ColorBasics.h:10:错误:C1083:无法打开包含文件:' NuiApi.h':没有这样的文件或目录
这是我的.pro文件:
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Add-in.
# ------------------------------------------------------
TEMPLATE = app
TARGET = ColorBasics-D2D
DESTDIR = ./Debug
QT += core multimedia opengl widgets gui sensors concurrent multimediawidgets
CONFIG += debug
DEFINES += _WINDOWS QT_MULTIMEDIA_LIB QT_OPENGL_LIB QT_SENSORS_LIB QT_WIDGETS_LIB QT_CONCURRENT_LIB QT_MULTIMEDIAWIDGETS_LIB
INCLUDEPATH += $(NOINHERIT)
LIBS += -L"$(NOINHERIT)" \
-lkernel32 \
-luser32 \
-lwinspool \
-lcomdlg32 \
-ladvapi32 \
-lshell32 \
-lole32 \
-loleaut32 \
-luuid \
-lodbc32 \
-lodbccp32 \
-lKinect10 \
-lopengl32 \
-lglu32
DEPENDPATH += .
MOC_DIR += ./GeneratedFiles/debug
OBJECTS_DIR += debug
UI_DIR += ./GeneratedFiles
RCC_DIR += ./GeneratedFiles
include(ColorBasics-D2D.pri)
以下是包含在ColorBasic.h中的内容:
#pragma once
#include "resource.h"
#include "NuiApi.h"
#include "ImageRenderer.h"
class CColorBasics
{
static const int cColorWidth = 640;
static const int cColorHeight = 480;
static const int cStatusMessageMaxLen = MAX_PATH*2;
public:
CColorBasics();
~CColorBasics();
static LRESULT CALLBACK MessageRouter(...);
LRESULT CALLBACK DlgProc(...);
int Run(HINSTANCE hInstance, int nCmdShow);
private:
HWND m_hWnd;
bool m_bSaveScreenshot;
// Current Kinect
INuiSensor* m_pNuiSensor;
// Direct2D
ImageRenderer* m_pDrawColor;
ID2D1Factory* m_pD2DFactory;
HANDLE m_pColorStreamHandle;
HANDLE m_hNextColorFrameEvent;
void Update();
HRESULT CreateFirstConnected();
void ProcessColor();
void SetStatusMessage(WCHAR* szMessage);
HRESULT SaveBitmapToFile();
};
我将它与我的视觉工作室的库路径进行了比较,它们都连接了正确的库。看来我需要在" INCLUDEPATH"之后放一条包含路径。线。那应该是什么?我尝试将NuiApi.h的路径放在那里,但它仍然有相同的错误。或者是由于不同的错误?我使用的是Qt5.5。谢谢!