OpenNI 2和Visual Studio 2012

Ste*_*low 9 openni visual-studio-2012

我刚刚下载了OpenNI 2 SDK(www.openni.org),我正在尝试在Visual Studio 2012中设置一个项目.我做了什么:

  1. 创建一个新的C++ Win32控制台应用程序项目
  2. 转到项目> MyProject属性,然后在配置属性> VC++目录中 ...
  3. 添加了C:\ Program Files(x86)\ OpenNI2\Redist \; 可执行文件目录
  4. 添加了C:\ Program Files(x86)\ OpenNI2\Include \; 包含目录
  5. 添加了C:\ Program Files(x86)\ OpenNI2\Redist \; 参考目录
  6. 添加了C:\ Program Files(x86)\ OpenNI2\Lib \; 图书馆目录

但是当我尝试构建时,我有以下未解决的符号错误(其中ConsoleApplication1是我的项目名称)

Error   1   error LNK2019: unresolved external symbol
__imp__oniInitialize referenced in function
"public: static enum openni::Status __cdecl openni::OpenNI::initialize(void)"
(?initialize@OpenNI@openni@@SA?AW4Status@2@XZ)
c:\Users\MyPC\documents\visual studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj
ConsoleApplication1
Run Code Online (Sandbox Code Playgroud)

我知道这个链接错误是说链接器找不到一些库,但我认为我刚刚做的就足够了.

我也尝试了64位版本,创建了一个64位项目,但我有同样的错误.

我找不到令人满意的关于这个主题的文档.

我确定我错过了一些愚蠢的话.你能就此提出一些建议吗?

NKN*_*NKN 7

您还应该执行以下步骤:

0-在C/C++部分的"常规"节点下,选择

"Additional Include Directories" 
Run Code Online (Sandbox Code Playgroud)

并添加

"$(OPENNI2_INCLUDE)" (if you use the 32-bit version) or 
"$(OPENNI2_INCLUDE64)" (if you use the 64-bit version). 
Run Code Online (Sandbox Code Playgroud)

这些是指向OpenNI Include目录位置的环境变量.(默认值为:

C:\Program Files\OpenNI2\Include or 
C:\Program Files (x86)\OpenNI2\Include)
Run Code Online (Sandbox Code Playgroud)

1 - 在"链接器"部分的"常规"节点下,选择

"Additional Library Directories" 
Run Code Online (Sandbox Code Playgroud)

并添加

"$(OPENNI2_LIB)" (if you use the 32-bit version) or 
"$(OPENNI2_LIB64)" (if you use the 64-bit version). 
Run Code Online (Sandbox Code Playgroud)

这些是指向OpenNI Lib目录位置的环境变量.(默认值为:

C:\Program Files\OpenNI2\Lib or 
C:\Program Files (x86)\OpenNI2\Lib)
Run Code Online (Sandbox Code Playgroud)

2 - 在"链接器"部分的输入节点下,选择

"Additional Dependencies" 
Run Code Online (Sandbox Code Playgroud)

并添加

OpenNI2.lib or OpenNI2.lib
Run Code Online (Sandbox Code Playgroud)

3 - 确保将"附加包含"和"库"目录添加到" 发行"和" 调试"配置中.

4 - 将OpenNI的redist目录中的所有文件(请参阅环境变量"$(OPENNI2_REDIST)"或"$(OPENNI2_REDIST64)")复制到您的工作目录.(默认值是

C:\Program Files\OpenNI2\Redist or 
C:\Program Files (x86)\OpenNI2\Redist). 
Run Code Online (Sandbox Code Playgroud)

请注意,从命令行运行时,工作目录是可以找到可执行文件的目录,从Visual Studio运行的位置,默认目录是可以找到项目文件(.vcproj,.vcxproj)的位置.