7 个版本

0.3.0 2024年6月23日
0.2.0 2023年3月25日
0.1.4 2023年3月6日
0.1.2 2023年1月5日
0.1.1 2022年12月29日

#621 in 开发工具

Download history 28/week @ 2024-04-28 167/week @ 2024-06-23 42/week @ 2024-06-30 1/week @ 2024-07-07 62/week @ 2024-07-28

63 每月下载量

MIT/Apache

440KB
5K SLoC

Rust 4.5K SLoC // 0.0% comments C++ 550 SLoC

包含 (静态库, 55KB) SDK/Libraries/Win/XPLM_64.lib, (静态库, 11KB) SDK/Libraries/Win/XPWidgets_64.lib

Rust 对 X-Plane SDK 的绑定

crates.io Documentation

X-Plane SDK 的低级 Rust 绑定。

功能

  • 包含对版本 XPLM400 (X-Plane 12.04 及以上) 的预构建绑定
  • 编译时生成绑定的选项,使用您自己的 SDK 版本
  • 允许在编译时生成的绑定中精确指定版本

生成您自己的绑定

要生成您自己的绑定而不是使用预构建的绑定,请通过在您的 Cargo.toml 中添加以下内容来激活 generate-bindings 功能:

xplane-sdk-sys = { version = "*", features = ["generate-bindings"] }

这将会在构建脚本中调用 bindgen 以在编译时为您生成绑定。您必须通过设置环境变量 XPLANE_SDK_PATH 来指定文件系统中 SDK 的位置。

需求

xplane-sdk-sys 继承了 bindgen 的需求。它们在 这里 有文档说明。

SDK 版本选择

在生成自己的绑定时,您可以指定您希望使用的 XPLM 版本。这不仅使您能够针对早期 X-Plane 版本,而且还确保库与未来版本兼容。

为了实现这一点,您需要设置环境变量 XPLANE_SDK_VERSIONS。它期望一个分号分隔的 SDK 版本列表。例如,将 XPLM303;XPLM400 定义为,将分别生成针对 SDK 版本 3.0.34.0.0 的绑定。

请注意,SDK 版本并不自动意味着旧版本。为了确保针对具有所有功能的最新版本进行定位,必须单独指定每个版本。

如果您未指定 XPLANE_SDK_VERSIONS 环境变量,将应用生成预构建绑定时使用的默认版本集。

变更日志

版本 0.3
  • 包含 XPLM400 在预构建绑定中
  • 更新SDK版本到4.0.1
版本0.2
  • 更新SDK版本到4.0.0
  • 从基于cargo功能的版本选择切换到环境变量定义
版本0.1
  • 初始发布,带有预构建或编译时生成的绑定

无运行时依赖