我已经在这个问题上停留了几天。我已经在 OpenNI 论坛和此处进行了搜索,并且尝试了对其他人有用的修复程序,但仍然遇到链接器错误。
我将从头开始:我使用命令行 ./install 为 OSX 安装了 OpenNI 2.0。一切顺利。它创建了环境变量:
export OPENNI2_INCLUDE=/Users/Robert/Documents/Kinect/OpenNI-2.0.0/Include
export OPENNI2_REDIST=/Users/Robert/Documents/Kinect/OpenNI-2.0.0/Redist
我进入 xCode 并按照此处的说明http://cicconet.wordpress.com/2011/03/24/openni-and-xcode-4/ 让 xcode 与 OpenNI SDK 一起工作 我将 /usr/include/ni 添加到“Header Search Paths” 并将 libOpenNI.dylib 添加到框架文件夹中,并将其放在项目目录中。Xcode intellasence 具有所有 OpenNI 方法,并且在编写代码时我没有遇到任何错误。我使用的代码是:
#include <OpenNI.h>
using namespace openni;
int main(int argc, const char * argv[])
{
OpenNI::initialize();
return 0;
}
我得到的错误是:
Undefined symbols for architecture x86_64:
"_oniInitialize", referenced from:
openni::OpenNI::initialize() in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我是否忘记在某处包含某些内容?