8个版本
使用旧的Rust 2015
0.2.3 | 2016年7月24日 |
---|---|
0.2.2 | 2016年1月27日 |
0.2.1 | 2015年11月5日 |
0.2.0 | 2015年10月18日 |
0.0.2 | 2015年3月29日 |
#1883 在 硬件支持 中
1,959 每月下载量
用于 24 个crate(2个直接使用)
23KB
374 行
Libusb Rust 绑定
libusb-sys
crate提供了对libusb
C库的声明和链接。遵循*--sys
包约定,libusb-sys
crate没有定义高于原生libusb
库函数的高级抽象。
依赖
为了使用libusb-sys
crate,您必须安装libusb
库,使其可通过pkg-config
找到。
libusb
支持的 所有系统也由libusb-sys
crate支持。它已在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
包,并使用它像在本地 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 许可证 下分发。
依赖
~47KB