1 个不稳定版本
使用旧的Rust 2015
0.2.6 | 2020年6月30日 |
---|
#1890 在 硬件支持
用于 2 个包
1.5MB
40K SLoC
包含 (神秘的autoconf代码,11KB) libusb/configure.ac
Libusb Rust绑定
libusb-sys
包提供对 libusb
C库的声明和链接。遵循 *--sys
包约定,libusb-sys
包不定义对原生 libusb
库函数的高级抽象。
依赖关系
为了使用 libusb-sys
包,您必须在 libusb
库已安装的位置安装它,以便通过 pkg-config
找到它。
支持 libusb
的所有系统也支持 libusb-sys
包。它已在 Linux、OS X 和 Windows 上进行过测试。
交叉编译
要链接到原生 libusb
库的交叉编译版本,需要设置几个环境变量来配置 pkg-config
以与交叉编译器的 sysroot 一起使用。 Autotools Mythbuster 对使用 pkg-config
进行交叉编译的支持有很好的解释。
但是,Rust 的 pkg-config
构建辅助工具 不支持调用前缀为 $CHOST
的 pkg-config
。它将始终调用不带前缀的 pkg-config
。要使用 pkg-config
构建辅助工具交叉编译 libusb-sys
,必须为 默认 的 pkg-config
定义环境变量 PKG_CONFIG_DIR
、PKG_CONFIG_LIBDIR
和 PKG_CONFIG_SYSROOT_DIR
。还必须设置 PKG_CONFIG_ALLOW_CROSS
以告知 Rust 的 pkg-config
辅助工具可以继续进行交叉编译。
为了使 Autotools Mythbuster 指南中的 pkg-config
包装器适用于 Rust,您将得到一个类似于以下脚本的脚本
#!/bin/sh
SYSROOT=/build/root
export PKG_CONFIG_DIR=
export PKG_CONFIG_LIBDIR=${SYSROOT}/usr/lib/pkgconfig:${SYSROOT}/usr/share/pkgconfig
export PKG_CONFIG_SYSROOT_DIR=${SYSROOT}
export PKG_CONFIG_ALLOW_CROSS=1
cargo build
用法
在 Cargo.toml
中将 libusb-sys
添加为依赖项
[dependencies]
libusb-sys = "0.2"
导入libusb_sys
crate,并像在本地libusb
库中定义的那样使用这些函数。有关更多信息,请参阅libusb
1.0 API文档。
extern crate libusb_sys as ffi;
fn main() {
let version = unsafe { ffi::libusb_get_version() };
println!("libusb v{}.{}.{}.{}", version.major, version.minor, version.micro, version.nano);
}
寻找帮助
由于libusb-sys
只是本地libusb
库的包装,因此最好的帮助来源是libusb
现有的信息。
许可
版权所有 © 2015 David Cuddeback
在MIT许可证下分发。