vex-sdk

Crates.iovex-sdk
lib.rsvex-sdk
version0.27.1
created_at2024-03-26 17:00:50.21916+00
updated_at2025-08-29 05:24:54.827894+00
descriptionFFI bindings to VEXos system APIs.
homepage
repositoryhttps://github.com/vexide/vex-sdk/
max_upload_size
id1186724
size53,874
Gavin (Gavin-Niederman)

documentation

README

vex-sdk

This crate contains raw C-level bindings to VEX's system APIs.

You can use this crate by adding it to your project's Cargo.toml with cargo add vex-sdk.

Linkage

[!NOTE] If you are using a higher-level library such as vexide, this is likely already handled for you!

vex-sdk provides declarations for functions included in VEX's platform SDKs, but doesn't link to any runtime library itself. Your project will need an implementation of these functions to compile properly.

One option is to depend on vex-sdk-jumptable, an open-source reimplementation of VEX's runtime library, then bring it into scope in your project:

// Bring runtime library into scope
use vex_sdk_jumptable as _;

fn main() { /* ... */ }

Alternatively, you may wish to provide your own SDK or link to an official SDK distributed by VEX. To do this, use a build script to add the SDK into your link search path, then link to libv5rt.a or the equivalent for your platform. The vex-sdk-build crate provides functionality to do all of this for you automatically (including downloading SDKs from VEX's servers).

Commit count: 150

cargo fmt