首页 文章

OpenNI 2和Visual Studio 2012

提问于
浏览
9

我刚刚下载了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;

但是当我尝试构建时,我有以下未解决的符号错误(其中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位项目,但我有同样的错误 .

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

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

3 回答

  • 1

    您还应该执行以下步骤:

    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目录添加到 ReleaseDebug 配置中 .

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

    C:\Program Files\OpenNI2\Redist or 
    C:\Program Files (x86)\OpenNI2\Redist).
    

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

  • 7

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

  • 1

    如果您将所有选项(包括,Lib,...)添加到项目设置并再次出现此错误,可能您的项目平台是Win32并且您想要使用OpenNI x64

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

    • 如果您没有x64选项,请创建一个新选项;)

相关问题