我有一个包含一些相关资产(Lua脚本)的项目,我需要在运行时找到它.这可能意味着两件事:
cargo run),我想找到它相对于源cargo install,资产也应该安装在某个地方,并且已安装的可执行文件版本应该找到已安装的资产.我知道使用类似的方法include_str!()将文本文件编译成二进制文件,但在这种情况下我不想这样做.
据我所知,cargo install 目前没有任何支持安装除可执行文件之外的任何东西,这是第一个问题,尽管我不介意有一个包装器安装脚本来帮助.
根据您希望它的结构方式,您可以尝试混合使用env::current_dir来获取当前目录,如果没有找到任何内容,您可以尝试使用可执行路径并从那里加载内容。你明白了env::current_exe。
我看到了困难,即cargo install 只将二进制文件复制到.cargo/bin其中意味着其他资源保留在位于.cargo/registry/src/....
在这种情况下,我同意 @ljedrz这include!似乎是唯一的方法。