gpt4 book ai didi

rust - 将 Cargo 与我的项目自己的目录结构一起使用

转载 作者:行者123 更新时间:2023-11-29 08:14:27 26 4
gpt4 key购买 nike

我可以使用 Cargo 构建 Rust 代码而不使用其 standard project layout 吗? ?

我的源文件不在名为 src 的目录中,这不会改变。我的二进制文件必须位于当前目录中(或者,在某些其他项目中,位于不称为 target/SOMETHING 的不同目录中)。我可以告诉 Cargo 可执行文件 foo 必须从 foo.rsbar.rs 构建在与 Cargo.toml 相同的目录中吗 和来自 foo.rsqux

我不关心 Cargo 是构建系统还是部署系统。我只对它作为图书馆管理系统感兴趣。 Apparently Cargo is the only game in the Rust town for this .

最佳答案

不是真的。您可以通过在 list 中明确指定源文件来控制它们的位置:

[[bin]]
name = "foo"
src = "foo.rs"

[[bin]]
name = "qux"
src = "splong.rs"

我不知道你所说的 foo 是从 foo.rs bar.rs 构建的意思>,而 qux 仅从 foo.rs 构建。您不能随意将源文件组合在一起:要么 foo.rs 使用 bar.rs,要么不使用。

但是您无法从 list 中控制目标目录。有 build.target-dir 设置(在 Cargo's configuration 中,而不是 list ),但这只允许您更改 target 目录,而不是其中的第二级.您可以使用 CARGO_TARGET_DIR environment variable 更改它,尽管您也无法从 list 中设置环境变量。

也就是说,将 CARGO_TARGET_DIR 设置为项目的根目录将更改所有中间文件的位置,并且这意味着每次在调试和发布版本之间切换时,您都必须进行完全重新编译。

您可能需要考虑在 the Cargo issue tracker 上提出问题关于将此作为一个选项。

关于rust - 将 Cargo 与我的项目自己的目录结构一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39186795/

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