Gil*_*il' 4 directory-structure rust rust-cargo
我可以使用 Cargo 构建 Rust 代码而不使用其标准项目布局吗?
我的源文件不在名为的目录中src
,这不会改变。我的二进制文件必须最终位于当前目录中(或者,在某些其他项目中,位于未调用的不同目录中target/SOMETHING
)。我可以告诉 Cargo 可执行文件必须从、 和位于同一目录中foo
构建吗?foo.rs
bar.rs
Cargo.toml
qux
foo.rs
我不关心 Cargo 作为构建系统或部署系统。我只对它作为图书馆管理系统感兴趣。显然 Cargo 是 Rust 镇上唯一的游戏。
并不真地。 您可以通过在清单中显式指定源文件来控制源文件的位置:
[[bin]]
name = "foo"
src = "foo.rs"
[[bin]]
name = "qux"
src = "splong.rs"
Run Code Online (Sandbox Code Playgroud)
我不知道你所说的从和foo
构建是什么意思,而仅从 构建。您不能随意将源文件组合在一起:要么使用,要么不使用。foo.rs
bar.rs
qux
foo.rs
foo.rs
bar.rs
但您无法从清单中控制目标目录。有一个build.target-dir
设置(在Cargo 的配置中,而不是清单中),但它只允许您更改target
目录,而不是其中的第二层。您可以使用CARGO_TARGET_DIR
环境变量更改它,但也无法从清单中设置环境变量。
也就是说,设置CARGO_TARGET_DIR
为项目的根目录也会更改所有中间文件的位置,这意味着每次在调试和发布版本之间切换时,都必须进行完整的重新编译。
您可能需要考虑在货物问题跟踪器上提出一个问题,以使其成为一个选项。
归档时间: |
|
查看次数: |
1843 次 |
最近记录: |