visual-studio-2012 - OpenNI 2和Visual Studio 2012

标签 visual-studio-2012 openni

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

  • 创建一个新的C++ Win32控制台应用程序项目
  • 转到项目> MyProject属性,然后在配置属性> VC++目录中...
  • 添加了 C:\Program Files(x86)\OpenNI2\Redist\; 至可执行目录
  • 添加了 C:\Program Files(x86)\OpenNI2\Include\; 包括目录
  • 添加了 C:\Program Files(x86)\OpenNI2\Redist\; 到引用目录
  • 添加了 C:\Program Files(x86)\OpenNI2\Lib\; 到图书馆目录

  • 但是,当我尝试构建时,出现以下 Unresolved 符号错误(其中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
    

    我知道此链接错误表示链接器找不到某些库,但我认为我所做的就足够了。

    我也尝试了64位版本,创建了64位项目,但是我遇到了同样的错误。

    我找不到关于此主题的令人满意的文档。

    我确定我缺少一些愚蠢的东西。您能对此提供一些建议吗?

    最佳答案

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

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

    "Additional Include Directories" 
    

    并添加
    "$(OPENNI2_INCLUDE)" (if you use the 32-bit version) or 
    "$(OPENNI2_INCLUDE64)" (if you use the 64-bit version). 
    

    这些是指向OpenNI Include目录位置的环境变量。 (默认值为:
    C:\Program Files\OpenNI2\Include or 
    C:\Program Files (x86)\OpenNI2\Include)
    

    1-在链接器部分的“常规”节点下,选择
    "Additional Library Directories" 
    

    并添加
    "$(OPENNI2_LIB)" (if you use the 32-bit version) or 
    "$(OPENNI2_LIB64)" (if you use the 64-bit version). 
    

    这些是指向OpenNI Lib目录位置的环境变量。 (默认值为:
    C:\Program Files\OpenNI2\Lib or 
    C:\Program Files (x86)\OpenNI2\Lib)
    

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

    并添加
    OpenNI2.lib or OpenNI2.lib
    

    3-确保将Additional Include和Library目录添加到版本调试配置中。

    4-将所有文件从OpenNI的redist目录(请参阅环境变量“$(OPENNI2_REDIST)”或“$(OPENNI2_REDIST64)”)复制到您的工作目录中。 (默认值为
    C:\Program Files\OpenNI2\Redist or 
    C:\Program Files (x86)\OpenNI2\Redist). 
    

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

    关于visual-studio-2012 - OpenNI 2和Visual Studio 2012,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14644191/

    相关文章:

    c# - Microsoft.SqlServer.Management.Smo 引用中未显示备份类

    asp.net-mvc - 如何从Visual Studio中预编译HandlebarsJS模板?

    visual-studio-2012 - 在Visual Studio中,我希望它在调试时先打开另一个表单,我该怎么做?

    xcode - OpenFrameworks 的 Apple Mach-O 链接器 (Id) 错误

    c++ - 运行 OpenNI 2 类时出错 ( gcc 4.7.2/ubuntu 12.10 )

    visual-studio-2012 - 多项目解决方案模板

    c# - Visual Studio 设计 View - 窗体为空白

    Python OpenNI2 libOpenNI2.so 问题

    java - OpenNni:颜色坐标到深度坐标

    c++ - 在同一项目中同时使用 OpenNI 和 OpenNI2