我刚刚下载了OpenNI 2 SDK (www.openni.org),并试图在Visual 2012中设置一个项目。我所做的:
但是,当我试图构建时,我有以下未解决的符号错误(其中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位项目,但我也有相同的错误。
在这个主题上,我找不到令人满意的文档。
我肯定我错过了一些愚蠢的东西。你能给我一些建议吗?
发布于 2013-02-25 23:22:24
此外,您还应该执行以下步骤:
0-在C/C++部分的"General“节点下,选择
"Additional Include Directories" 再加上
"$(OPENNI2_INCLUDE)" (if you use the 32-bit version) or
"$(OPENNI2_INCLUDE64)" (if you use the 64-bit version). 这些环境变量指向OpenNI包含目录的位置。(默认值为:
C:\Program Files\OpenNI2\Include or
C:\Program Files (x86)\OpenNI2\Include)1-在Linker部分的"General“节点下,选择
"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.lib3-确保将附加的包含目录和库目录添加到发布和Debug配置中。
4-将OpenNI的redist目录中的所有文件(参见环境变量"$(OPENNI2_REDIST)“或"$(OPENNI2_REDIST64)")复制到您的工作目录中。(默认值为
C:\Program Files\OpenNI2\Redist or
C:\Program Files (x86)\OpenNI2\Redist). 请注意,当从命令行运行时,工作目录是可以找到可执行文件的目录,从Visual运行的默认目录是可以找到项目文件(.vcproj、.vcxproj)的位置。
发布于 2013-02-08 23:07:51
您还需要指向实际的库文件:openni2.lib
发布于 2014-07-23 12:43:47
如果添加所有选项(包括,Lib,.)对于您的项目设置,并再次获得此错误,可能您的项目平台是Win32,您希望使用OpenNI x64。
在这种情况下,必须将平台更改为x64 (页面顶部的项目属性)
https://stackoverflow.com/questions/14644191
复制相似问题