gpt4 book ai didi

rust - 用 cargo 构建子模块二进制箱

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

我有以下 crate 结构:

|── proj/
└── src/
└── bin/
└── foo-bin-rs/
└── src/
└── main.rs
└── Cargo.toml
└── main.rs
└── Cargo.toml
└── build.rs

foo-bin-rs 是一个子模块。我想找到一种干净的方式来发布构建通过 cargo 命令构建 foo-bin-rs 作为构建的一部分用于 proj 的命令。我没有找到任何使用src/bin 目录中的二进制文件是它们自己单独的箱子,只是单个文件。我的第一个想法是拥有一个发布自己的 build.rscargo 命令,但我找不到允许通过用作 root 的目录。对此的规范解决方案是什么?

最佳答案

My first thought was to have a build.rs that issued its own cargo command, but I couldn't find a flag for cargo that allowed passing a directory to use as root.

有一个命令行参数,但它不需要目录;相反,它需要 Cargo.toml 文件的完整路径。该参数名为 --manifest-path,它可用于许多子命令,例如 buildrun。它是这样使用的(注意相对路径也是有效的):

$ cargo build --manifest-path=/path/to/proj/src/bin/foo-bin-rs/Cargo.toml

如果您需要从构建脚本运行可执行文件,您可以像往常一样简单地使用 cargo run 一次性构建和运行。

关于rust - 用 cargo 构建子模块二进制箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43882955/

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