8个版本 (5个稳定版)

使用旧的Rust 2015

1.1.1 2020年3月26日
1.1.0 2019年9月24日
1.0.2 2018年7月18日
0.3.0 2018年7月7日
0.1.0 2018年7月7日

视频中排名#218


2 crate使用

MIT许可证

47KB
827

openni2-sys: OpenNI2绑定

Rust对OpenNI2的绑定。

参考供应商文件是用bindgen通过以下命令构建的,并进行了一些额外的编辑

bindgen vendor/OniCAPI.h-o src/lib.rs--whitelist-function oni.* --whitelist-type Oni.* --whitelist-varONI_.*

编译

OpenNI2通常期望动态链接,并且需要环境变量来指示库的位置。

在Windows上构建时,构建脚本会检查环境变量OPENNI2_LIBOPENNI2_LIB64(根据OpenNI2安装说明)的位置是Windows上的OpenNI2.lib。在其他平台上,它会检查OPENNI2_REDISTOPENNI2_REDIST64,这应该是OSX或Linux上libOpenNI2.dyliblibOpenNI2.so的位置。

(Windows上的OpenNI2安装还应设置环境变量OPENNI2_REDIST(64),但它不是正确链接所需的位置。)

如果您的安装将库命名为与openni2不同的名称,则可以通过环境变量OPENNI2_LIBNAME覆盖传递给链接器的名称(即-lopenni2

$ OPENNI2_REDIST64=/lib/libOpenNI2 cargo build
error: linking with `cc` failed: exit code: 1
  = note: /usr/bin/ld: cannot find -lopeni2
          collect2: error: ld returned 1 exit status
$ OPENNI2_REDIST64=/lib/libOpenNI2 OPENNI2_LIBNAME=OpenNI2 cargo build
    Finished dev [unoptimized + debuginfo] target(s) in 0.96s

运行时考虑事项

对于OSX,将OPENNI2_REDIST(64)libOpenNI2.dylib的位置)添加到您的DYLD_LIBRARY_PATH环境变量中。

对于Linux,将OPENNI2_REDIST(64)libOpenNI2.so的位置)添加到您的LD_LIBRARY_PATH环境变量中。

对于Windows,将OPENNI2_REDIST(64)添加到您的PATH中。

否则为了避免使用共享位置,将OpenNI2.dlllibOpenNI2.dyliblibOpenNI2.so复制到可执行文件的目录中。

许可证

这些绑定是在MIT许可证下分发的,我并不完全清楚它的含义,但有人推荐并且我不在乎。

此存储库包含带有Primsense Ltd.版权的OpenNI2头文件,但它们仅用于参考,并不包含通过Crates.io分发的编译crate中。

无运行时依赖