gpt4 book ai didi

rust - 如何使用Rust和Amethyst运行可执行文件

转载 作者:行者123 更新时间:2023-12-03 11:48:59 25 4
gpt4 key购买 nike

因此,我遵循了Amethyst Pong教程,现在正在构建一个小小的“人生游戏”程序。如果我使用cargo run运行它,则效果很好,但是如果我执行cargo build然后运行

$ .\target\debug\game_of_life.exe

我得到了错误:

Error: Error { inner: Inner { source: None, backtrace: None, error: ConfigError(File(Os { code: 3, kind: NotFound, message: "The system cannot find the path specified." })) } }

如果尚不清楚,我在Windows 10上。我还创建了一个空白的rust项目,并尝试运行该可执行文件,并且工作正常:

$ cargo new temp
$ cd temp
$ cargo build
$ .\target\debug\temp.exe
Hello, world!

复制步骤(必须安装 cargo 和vulkan):

$ cargo install amethyst_tools
$ amethyst new temp
$ cd temp
$ cargo build
$ .\target\debug\temp.exe
Error: Error { inner: Inner { source: None, backtrace: None, error: ConfigError(File(Os { code: 3, kind: NotFound, message: "The system cannot find the path specified." })) } }

注意:

$ amethyst new temp
$ cd temp
$ cargo run

工作正常

版本:

$ amethyst --version
Amethyst CLI 0.10.0
$ cargo --version
cargo 1.43.0 (3532cf738 2020-03-17)

我应该提供任何想法或更多信息吗?

最佳答案

您的主要函数调用application_root_dir,它是Amethyst的一部分。
application_root_dir的定义表明,它使用的是CARGO_MANIFEST_DIR或可执行文件的位置作为您的根路径(以后用于查找 Assets 和配置)。当您调用cargo run时,它将CARGO_MANIFEST_DIR设置到当前构建的 crate 的Cargo.toml的目录中,而如果直接调用二进制文件,则CARGO_MANIFEST_DIR根本不会设置(因此它将尝试使用.\target\debug作为查找配置的基本路径/ Assets )。

您可以将二进制文件复制到Cargo.toml的位置,也可以手动设置CARGO_MANIFEST_DIR,然后您应该能够直接执行二进制文件。

关于rust - 如何使用Rust和Amethyst运行可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61409492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com