我刚刚下载了OpenNI 2 SDK(www.openni.org),并且试图在Visual Studio 2012中设置一个项目。
我做了什么:
但是,当我尝试构建时,出现以下 Unresolved 符号错误(其中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位项目,但是我遇到了同样的错误。
我找不到关于此主题的令人满意的文档。
我确定我缺少一些愚蠢的东西。您能对此提供一些建议吗?
最佳答案
另外,您应该执行以下步骤:
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目录添加到版本和调试配置中。
4-将所有文件从OpenNI的redist目录(请参阅环境变量“$(OPENNI2_REDIST)”或“$(OPENNI2_REDIST64)”)复制到您的工作目录中。 (默认值为
C:\Program Files\OpenNI2\Redist or
C:\Program Files (x86)\OpenNI2\Redist).
请注意,从命令行运行时,工作目录是可以找到可执行文件的目录,从Visual Studio运行时,默认目录是可以找到项目文件(.vcproj,.vcxproj)的目录。