Rust跨平台开发工具

Rust for Aurora OS是一个用于Aurora OS的Rust应用程序跨平台开发和集成的工具,支持D-Bus、Clib、C++和Qt等接口。

  • by KotDath
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 KotDath/aurora-rs-mcp

使用说明

Aurora操作系统的Rust

▶️ RUTUBE

演示用于Aurora OS的Rust应用程序的跨平台组装以及与主要接口的交互:

  • D-Bus(设备信息)。
  • Clib(libappdir)。
  • С++(示例cxx)。
  • Qt(QNetworkConfigurationManager)。

Aurora RS MCP通过一个最小的MCP服务器扩展了这一基础,该服务器公开 /mcp 以及这两个工具 say_hello 和 get_aurora_info 用于集成测试。CLI接受 --port 选项(默认 8080)因此,您可以选择监听端口。

构建

  • 十字架:https://crates.io/crates/cross
  • Aurora CLI:https://crates.io/crates/aurora-cli

Cross.local.toml

在项目的根节点创建它,并对其进行自定义以满足您的需求。

# armv7hl
[target.armv7-unknown-linux-gnueabihf]
env.volumes = [
    "PKG_CONFIG_SYSROOT_DIR=/home/keygenqt/.aurora-sysroot/armv7hl",
    "PKG_CONFIG_LIBDIR=/home/keygenqt/.aurora-sysroot/armv7hl",
    "PKG_CONFIG_PATH=/home/keygenqt/.aurora-sysroot/armv7hl",
]

# aarch64
[target.aarch64-unknown-linux-gnu]
env.volumes = [
    "PKG_CONFIG_SYSROOT_DIR=/home/keygenqt/.aurora-sysroot/aarch64",
    "PKG_CONFIG_LIBDIR=/home/keygenqt/.aurora-sysroot/aarch64",
    "PKG_CONFIG_PATH=/home/keygenqt/.aurora-sysroot/aarch64",
]

# x86_64
[target.x86_64-unknown-linux-gnu]
env.volumes = [
    "PKG_CONFIG_SYSROOT_DIR=/home/keygenqt/.aurora-sysroot/x86_64",
    "PKG_CONFIG_LIBDIR=/home/keygenqt/.aurora-sysroot/x86_64",
    "PKG_CONFIG_PATH=/home/keygenqt/.aurora-sysroot/x86_64",
]

对于Windows,您需要使用sysroot unix。

构建

# armv7hl
CROSS_CONFIG="Cross.local.toml" cross build --target=armv7-unknown-linux-gnueabihf --verbose
# aarch64
CROSS_CONFIG="Cross.local.toml" cross build --target=aarch64-unknown-linux-gnu --verbose
# x86_64
CROSS_CONFIG="Cross.local.toml" cross build --target=x86_64-unknown-linux-gnu --verbose

Visual Studio代码的配置

"rust-analyzer.cargo.extraEnv": {
    "PKG_CONFIG_SYSROOT_DIR=/Users/keygenqt/.aurora-sysroot/aarch64",
    "PKG_CONFIG_LIBDIR=/Users/keygenqt/.aurora-sysroot/aarch64",
    "PKG_CONFIG_PATH=/Users/keygenqt/.aurora-sysroot/aarch64"
}

在模拟器上运行

./run.sh

在本地运行

# default port 8080
cargo run --

# explicit port flag
cargo run -- --port 9090

macOS/Linux:

./run.sh

窗户:

sh run.sh