#hdf5 #thread-safe #bindings #version #wrapper

bin+lib hdf5-rs

线程安全的 HDF5 库 Rust 绑定

2 个不稳定版本

使用旧的 Rust 2015

0.2.0 2016年4月17日
0.1.0 2015年12月26日

#14 in #hdf5

MIT/Apache

155KB
3.5K SLoC

hdf5-rs

Build Status Appveyor Build Status

文档 更新日志

线程安全的 HDF5 库 API 绑定和高层次包装器。

需要版本 1.8.4 或更高版本的 HDF5 库。

兼容性

平台

hdf5-rs 已知在这些平台上运行

  • Linux (在 Travis CI 上测试,HDF5 v1.8.4)
  • OS X (在 Travis CI 上测试,HDF5 v1.8.16)
  • Windows (在 AppVeyor 上测试,MSVC 目标,HDF5 v1.8.16,VS2015 x64)

Rust

hdf5-rs 在所有三个官方发布渠道:稳定版、测试版和夜间版进行了测试。

构建

HDF5 版本

构建脚本同时检查 libhdf5-syshdf5-rs 仓库所链接的 HDF5 库的实际版本,某些功能可能会在编译时条件性地启用或禁用。虽然这允许在单个代码库中支持多个 HDF5 版本,但库用户在使用低级 FFI 绑定时应了解这一点。

Linux, OS X

libhdf5-lib 仓库的构建脚本会尝试使用 pkg-config 来推断 HDF5 库的位置。这对于大多数标准设置是足够的。

如果库的位置和/或名称不常规,以下环境变量可能有用

  • HDF5_LIBDIR – 在构建步骤中添加到库搜索路径
  • HDF5_LIBNAME – 库名称(默认为 hdf5

请注意,在更改这些变量后,如果需要重新构建,则需要先运行 cargo clean

Windows

hdf5-rs 完全支持 MSVC 工具链,这允许使用 HDF5 的官方发布版,通常是推荐的方法。但值得注意的是,之前的实验表明,在 gnu 目标上也通过了所有测试,只需要小心构建 HDF5 二进制文件本身并配置构建环境。

在 Windows 上构建时需要注意的一些事项

  • hdf5.dll 应在构建时间和运行时(gnumsvc)的搜索路径中可用。通常需要将 HDF5 安装目录的 bin 文件夹添加到 PATH。如果使用官方 HDF5 发布版(仅限 msvc),则安装程序会自动完成此操作。
  • 如果 HDF5_LIBDIRHDF5_LIBNAME 发生变化,则在重新构建之前需要运行 cargo clean 命令。
  • msvc:安装的 Visual Studio 版本应与 HDF5 二进制文件(2013 或 2015)相匹配。请注意,不需要运行 vcvars 脚本;Rust 构建系统会负责这一点。
  • 在大多数情况下,没有必要手动设置 HDF5_LIBDIR,因为它可以从搜索路径中推断出来(包括 gnumsvc)。这也意味着官方版本应该可以直接使用。
  • 在为任意目标构建时,请确保搜索路径中没有冲突(例如,MinGW 工具链的一些二进制文件可能覆盖 MSVS 可执行文件,反之亦然)。
  • gnu 目标的推荐平台是 MinGW-GCC 的 TDM 发行版,因为它包含 32 位和 64 位的 bintools。
  • msvc 目标的推荐设置是 VS2015 x64,因为这与 CI 构建配置相匹配,但 VS2013 和 x86 也应该同样有效。

许可证

hdf5-rs 主要在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。有关详细信息,请参阅 LICENSE-APACHELICENSE-MIT

依赖项

~0.2–0.8MB
~22K SLoC