首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenNI 2和2012

OpenNI 2和2012
EN

Stack Overflow用户
提问于 2013-02-01 10:24:14
回答 3查看 8.3K关注 0票数 9

我刚刚下载了OpenNI 2 SDK (www.openni.org),并试图在Visual 2012中设置一个项目。我所做的:

  1. 创建新的C++ Win32控制台应用程序项目
  2. 转到Project>MyProject属性,在配置Properties>VC++目录中.
  3. C:\Program (X86)\OpenNI2 2\Redist\;添加到可执行目录中
  4. 添加了C:\Program (X86)\OpenNI2 2\以包含目录
  5. C:\Program (X86)\OpenNI2 2\Redist\;添加到引用目录
  6. C:\Program (X86)\OpenNI2 2\Lib\;添加到库目录中

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

代码语言:javascript
复制
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

我知道这个链接错误是说链接器找不到一些库,但我认为我所做的已经足够了。

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

在这个主题上,我找不到令人满意的文档。

我肯定我错过了一些愚蠢的东西。你能给我一些建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-25 23:22:24

此外,您还应该执行以下步骤:

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

代码语言:javascript
复制
"Additional Include Directories" 

再加上

代码语言:javascript
复制
"$(OPENNI2_INCLUDE)" (if you use the 32-bit version) or 
"$(OPENNI2_INCLUDE64)" (if you use the 64-bit version). 

这些环境变量指向OpenNI包含目录的位置。(默认值为:

代码语言:javascript
复制
C:\Program Files\OpenNI2\Include or 
C:\Program Files (x86)\OpenNI2\Include)

1-在Linker部分的"General“节点下,选择

代码语言:javascript
复制
"Additional Library Directories" 

再加上

代码语言:javascript
复制
"$(OPENNI2_LIB)" (if you use the 32-bit version) or 
"$(OPENNI2_LIB64)" (if you use the 64-bit version). 

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

代码语言:javascript
复制
C:\Program Files\OpenNI2\Lib or 
C:\Program Files (x86)\OpenNI2\Lib)

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

代码语言:javascript
复制
"Additional Dependencies" 

再加上

代码语言:javascript
复制
OpenNI2.lib or OpenNI2.lib

3-确保将附加的包含目录和库目录添加到发布Debug配置中。

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

代码语言:javascript
复制
C:\Program Files\OpenNI2\Redist or 
C:\Program Files (x86)\OpenNI2\Redist). 

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

票数 7
EN

Stack Overflow用户

发布于 2013-02-08 23:07:51

您还需要指向实际的库文件:openni2.lib

票数 1
EN

Stack Overflow用户

发布于 2014-07-23 12:43:47

如果添加所有选项(包括,Lib,.)对于您的项目设置,并再次获得此错误,可能您的项目平台是Win32,您希望使用OpenNI x64。

在这种情况下,必须将平台更改为x64 (页面顶部的项目属性)

  • 如果您没有x64选项,请创建一个新选项;)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14644191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档