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硬件支持

Download history 781/week @ 2024-03-14 917/week @ 2024-03-21 879/week @ 2024-03-28 743/week @ 2024-04-04 951/week @ 2024-04-11 1043/week @ 2024-04-18 1075/week @ 2024-04-25 901/week @ 2024-05-02 763/week @ 2024-05-09 727/week @ 2024-05-16 740/week @ 2024-05-23 994/week @ 2024-05-30 588/week @ 2024-06-06 497/week @ 2024-06-13 388/week @ 2024-06-20 329/week @ 2024-06-27

1,959 每月下载量
用于 24 个crate(2个直接使用)

MIT 许可证

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_DIRPKG_CONFIG_LIBDIRPKG_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