【问题标题】:Error LINK2019 using OpenNI and Visual Studio使用 OpenNI 和 Visual Studio 时出现错误 LINK2019
【发布时间】:2013-05-02 18:18:12
【问题描述】:

我正在尝试在 Visual Studio 2012 中使用 OpenNI 构建一个 .cpp 文件。我正在使用 SimpleViewer 示例的代码(它包含在 OpenNI 中)。当我尝试构建 .cpp 文件时,我得到了 error LNK2019,当编译器必须链接 OpenNI 库时,这似乎是一个问题。有什么问题?

错误(共 55 个):

>  Error    1   error LNK2019: unresolved external symbol __imp__oniShutdown
> referenced in function "public: static void __cdecl
> openni::OpenNI::shutdown(void)"
> (?shutdown@OpenNI@openni@@SAXXZ)  C:\Develop\VisualStudioWorkspace\Projects\My
> programs\OpenNI2_test\OpenNI2_test\Viewer.obj OpenNI2_test
Error   2   error LNK2019: unresolved external symbol __imp__oniWaitForAnyStream referenced in function "public: static enum openni::Status __cdecl openni::OpenNI::waitForAnyStream(class openni::VideoStream * *,int,int *,int)" (?waitForAnyStream@OpenNI@openni@@SA?AW4Status@2@PAPAVVideoStream@2@HPAHH@Z) C:\Develop\VisualStudioWorkspace\Projects\My programs\OpenNI2_test\OpenNI2_test\Viewer.obj  OpenNI2_test

我按照OpenNI website 中描述的所有步骤在 Visual Studio 中编译了一个文件:我添加了所有 VCC 目录以及 Include 和 Lib 环境变量。我还在链接器部分的附加依赖项中添加了 OpenNI2.lib。我还在工作目录(我拥有 .vcproj 的目录)中复制了 Redist 文件。

【问题讨论】:

标签: visual-studio kinect openni


【解决方案1】:

我遇到了类似的问题。示例项目无法构建,因为我使用的是 x64 的 OpenNI,但平台设置为 Win32。更改为 x64(在顶部的属性对话框中)为我修复了它。

【讨论】:

    【解决方案2】:

    OpenNI 2.0 还不够成熟。大多数库、开源代码、示例和包装器仍然使用 OpenNI 1.5。集成并不容易,因为 OpenNI2 使用微软官方驱动程序,而 OpenNI1.x 使用开源驱动程序。 32 位版本的问题比 64 位版本少,但我最终安装并使用了 OpenNI 1.5 和 Kinect 非官方驱动程序。

    【讨论】:

      【解决方案3】:

      问题与链接过程有关。您的项目属性中可能有错误的链接路径。有解决办法,看看这个question 也许它适用于你的情况!

      【讨论】:

        猜你喜欢
        • 2013-01-14
        • 2021-01-05
        • 1970-01-01
        • 2013-01-16
        • 2014-10-20
        • 2011-04-16
        • 2022-07-13
        • 1970-01-01
        • 2023-04-05
        相关资源
        最近更新 更多