4 个版本
0.1.3 | 2024 年 5 月 3 日 |
---|---|
0.1.2 | 2023 年 11 月 27 日 |
0.1.1 | 2023 年 7 月 29 日 |
0.1.0 | 2023 年 7 月 14 日 |
#128 in Cargo 插件
51KB
922 行
cargo-3ds
cargo-3ds 命令,用于处理任天堂 3DS 项目二进制文件。基于 cargo-psp。
安装
要安装最新版本,请访问 https://crates.io
cargo install --locked cargo-3ds
要安装 cargo-3ds
的当前 master
版本
cargo install --locked --git https://github.com/rust3ds/cargo-3ds
使用方法
使用夜间工具链构建 3DS 应用程序(通过在项目目录中使用 rustup override nightly
或者在 cargo
调用中添加 +nightly
)。
Commands:
build
Builds an executable suitable to run on a 3DS (3dsx)
run
Builds an executable and sends it to a device with `3dslink`
test
Builds a test executable and sends it to a device with `3dslink`
new
Sets up a new cargo project suitable to run on a 3DS
help
Print this message or the help of the given subcommand(s)
Options:
-h, --help
Print help information (use `-h` for a summary)
-V, --version
Print version information
其他参数将通过子命令传递。有关更多详细信息,请参阅 传递参数。
还可以传递任何其他 cargo
命令(例如 doc
、check
),所有参数将直接传递给 cargo
,无需修改,并设置正确的 --target armv6k-nintendo-3ds
。
基本示例
cargo 3ds build
cargo 3ds check--详细模式
cargo 3ds run--发布版--example foo
cargo 3ds test--无-运行
cargo 3ds new my-新建-项目--版本2021
运行可执行文件
cargo 3ds test
和 cargo 3ds run
使用 3dslink
工具将构建的可执行文件发送到设备,因此接受与 3dslink
相对应的具体相关参数。
-a, --address <ADDRESS>
Specify the IP address of the device to send the executable to.
Corresponds to 3dslink's `--address` arg, which defaults to automatically finding the device.
-0, --argv0 <ARGV0>
Set the 0th argument of the executable when running it. Corresponds to 3dslink's `--argv0` argument
-s, --server
Start the 3dslink server after sending the executable. Corresponds to 3dslink's `--server` argument
--retries <RETRIES>
Set the number of tries when connecting to the device to send the executable. Corresponds to 3dslink's `--retries` argument
传递参数
由于cargo-3ds
、cargo
和3dslink
解析参数的方式,在带有参数调用可执行文件时,不幸地需要一些复杂性。
所有以短横线开头的未识别参数(例如--release
、--features
等)将直接传递给cargo
。
注意:运行可执行文件的参数必须在其他未识别的
cargo
参数之前指定。否则,它们将被视为传递参数,这可能会导致最终的cargo
命令失败。
可以使用可选的--
显式地将后续参数传递给cargo
,包括传递给可执行文件的参数。为了将cargo
参数与可执行文件参数分开,可以使用另一个--
。例如
-
cargo 3ds run-- --xyz
构建一个可执行文件并将其发送到设备以运行,使用参数
xyz
。 -
cargo 3ds test--地址192.168.0.2 -- -- --测试-参数1
构建一个测试可执行文件,并尝试将其发送到地址为
192.168.0.2
的设备上,并使用参数["--test-arg", "1"]
运行它。 -
cargo 3ds test--地址192.168.0.2 --详细模式-- --测试-参数1
使用
cargo test --verbose
构建一个测试可执行文件,并尝试将其发送到地址为192.168.0.2
的设备上,并使用参数["--test-arg", "1"]
运行它。这是因为
--verbose
开始于cargo
参数的集合,并以3DS特定参数的集合结束,因此不需要两个--
实例。
注意事项
由于3dslink
一次只能发送一个可执行文件,默认情况下,将只使用“最后一个”构建的可执行文件。如果test
或run
命令构建了多个二进制文件,您可能需要过滤它才能运行您想要的可执行文件。
文档测试工作得不错,但cargo-3ds
使用了一些不稳定的cargo和rustdoc功能来使其工作,因此输出不会那么美观,并且需要一些手动解决方法才能实际运行测试并查看其输出。目前,cargo 3ds test --doc
不会构建3dsx文件或使用3dslink
。
许可协议
本项目根据MIT许可协议或Apache-2.0许可协议进行分发。
依赖关系
~4-13MB
~158K SLoC