2

我正在尝试在 Visual Studio 2012 中使用 OpenNI 构建一个 .cpp 文件。我正在使用 SimpleViewer 示例的代码(它包含在 OpenNI 中)。当我尝试构建 .cpp 文件时,出现错误 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 网站中描述的所有步骤在 Visual Studio 中编译文件:我添加了所有 VCC 目录以及 Include 和 Lib 环境变量。我还在链接器部分的附加依赖项中添加了 OpenNI2.lib。我还在工作目录(我拥有 .vcproj 的目录)中复制了 Redist 文件。

4

3 回答 3

3

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

于 2013-05-17T21:36:03.000 回答
0

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

于 2013-07-10T20:44:39.353 回答
0

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

于 2013-08-08T10:32:33.033 回答