如何使默认的Cargo输出目录与目标架构匹配?

3
我希望构建输出目录能够遵循我正在构建的架构。
当前,当我使用“Cargo build”而没有任何目标时,它会将输出放在./target/debug或./target/release中。当我为其他目标架构构建时,它会将它们放在./target/[architecture string]/debug(或release)中。
看起来内部 rust 正在使用 rustc -vV 来确定架构,我想使用它。
是否有一种方法可以使其默认到当前目标架构文件夹,而不是硬编码路径输出目录?
这里的用例是我们正在多平台、多人构建应用程序。每个人都在同一个目录中构建。我们希望它输出到与他们正在构建的目标架构相同的目录。
1个回答

0

我们可以通过设置CARGO_TARGET_DIR环境变量,将目标架构配置为构建产物的输出目录。

直接在命令行中设置CARGO_TARGET_DIR:

$ CARGO_TARGET_DIR="./target/$(rustc -vV:target_arch)/" cargo build

如果我们在每个项目基础上放置一个 (.env) 文件,那将非常方便:

CARGO_TARGET_DIR="./target/$(rustc -vV:target_arch)/"

这样一来,您就不必每次运行 cargo build 时都指定目标目录了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接