本文以在SDK V2中的 C++程序 AudioBasics-IStream-D2D为例,来介绍开发环境的搭建。
SDK 版本为KinectSDK-v2.0_V1409-Setup.exe.
1、新建一个对话框工程,添加picture control 和static control;
2、根据工程中的文件在头文件和cpp文件中添加成员变量和成员函数,加入AudioPanel.h和AudioPanel.cpp文件;
3、
(1). 在VS2010项目中,<解决方案资源管理器>里,右击项目名,选择属性;
(2).在属性对话框,在左边栏的 <VC++目录>->< 包含目录>中,编辑,浏览选择kinect SDK的安装目录(C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\inc)选择确定; <库目录>中,编辑,浏览选择kinect SDK的安装目录(C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\lib\X86)选择确定;
这里需要注意我们需要添加的为X86,不是X64,如果都添加则第三步加入的库文件无法加载
(3). 添加特定库 在链接器->输入中设置附加依赖项,填入kinect20.lib。,或者在程序中添加#pragma comment (lib,"Kinect20.lib")
4、在项目中添加#include <Kinect.h>
5、编译提示
在文件"Kinect.INPC.h"中报错:error C2059: 语法错误:“)” 和error C2061: 语法错误: 标识符“_Out_writes_z_”
是如下这一行语句:
_Out_writes_z_(bufferSize) WCHAR *propertyName) = 0;
按F12,发现_Out_writes_z果然没有定义。
原因:_Out_writes_z这个函数定义在visual studio 2012/2013中,而没有定义在2010中,因此需要将其拷贝过来。
解决方法:
a) 将visual studio 2013 include目录(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include)下的sal.h拷贝到“Kinect.INPC.h”文件所在目录;
b) 将visual studio 2013 include目录下的ConcurrencySal.h拷贝到"Kinect.INPC.h"文件所在目录。
c)如果不成功,在Kinec.INPC.h文件中添加一行:#include "sal.h"(我没添加);
6、注对SafeRelease的解释定义://去掉SafeRelease和括号之间空格试试
#define SafeRelease(pObject) if( pObject != NULL ) {pObject->Release(); pObject=NULL;}
7、sal.h和ConcurrencySal.h的下载地址:
http://download.csdn.net/detail/zqckzqck/9645684
运行界面