我正在尝试编译运行下面给出的一个非常基本的程序(test.cpp),它调用 OpenNI 类。您可以在此处查看它们所在的文件和目录。抱歉,有些字符在浏览器的编码中有点搞砸了。我正在使用 linux 命令:tree,如果您知道更好的命令,请告诉我,我会更新它。
我在这里遵循指南,请参阅“GCC / GNU Make”。
#include < stdio.h >
#include < OpenNI.h >
using namespace openni;
int
main ( void )
{
Status rc = OpenNI::initialize();
if (rc != STATUS_OK)
{
printf("\nInitialize failed\n%s\n", OpenNI::getExtendedError());
return 1;
}
printf("Hello, world!\n");
return 0;
}
这是我在命令行中运行的编译它(gcc 4.7.2):
gcc test.cpp -I../OpenNI-2.0.0/Include -L/home/evan/Code/OpenNi/Init -l OpenNI2 -o test
这工作正常,但是当我运行 ./test 时,我收到以下错误:
Initialize failed
DeviceDriver: library handle is invalid for file libOniFile.so
Couldn't understand file 'libOniFile.so' as a device driver
DeviceDriver: library handle is invalid for file libPS1080.so
Couldn't understand file 'libPS1080.so' as a device driver
Found no valid drivers in './OpenNI2/Drivers'
谢谢,任何帮助将不胜感激。