2013-05-02 69 views
2

我想在Visual Studio 2012中使用OpenNI构建一个.cpp文件。我使用SimpleViewer样本(它包含在OpenNI中)的代码。当我尝试构建.cpp文件时,得到了编译器必须链接OpenNI库时出现的错误LNK2019,这似乎是一个问题。什么可能是错的?错误LINK2019使用OpenNI和Visual Studio

错误(总共55):

> Error 1 error LNK2019: unresolved external symbol __imp__oniShutdown 
> referenced in function "public: static void __cdecl 
> openni::OpenNI::shutdown(void)" 
> ([email protected]@[email protected]@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)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 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文件。

+0

有解决方案,请检查这个[问题] [1] 也许它适用于您的情况! [1]:http://stackoverflow.com/questions/14644191/openni-2-and-visual-studio-2012/15078460#15078460 – NKN 2013-08-08 10:31:14

回答

3

我遇到了类似的问题。示例项目不会生成,因为我使用OpenNI for x64,但平台设置为Win32。更改为x64(在顶部的属性对话框中)为我解决了它。

0

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

0

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