查找 Cargo 放在 `target/*/deps` 下的确切文件名

问题描述 投票:0回答:1

我有一个箱子,如果我运行

cargo rustc --release -- --emit=llvm-ir
,我会在
target/release/deps
下得到以下文件:

target/release/deps/
├── chip8_c64-a95cc9a5a3e99697.d
├── chip8_c64-a95cc9a5a3e99697.ll
├── chip8_engine-2a1bf4bc9333b677.d
├── chip8_engine-2a1bf4bc9333b677.ll
├── libchip8_c64-a95cc9a5a3e99697.rlib
├── libchip8_c64-a95cc9a5a3e99697.rmeta
├── libchip8_engine-2a1bf4bc9333b677.rlib
└── libchip8_engine-2a1bf4bc9333b677.rmeta

当然,如果我更改内容,文件名中的哈希/指导也会更改。

我想在运行上述命令后从命令行/Makefile 中找出这些确切的文件名是什么。有没有办法从 Cargo 获取这些信息?

rust build rust-cargo
1个回答
0
投票

是的,如果您使用选项

cargo build
运行
-vv
,那么它将打印大量消息,其中包括
cargo
如何使用环境变量和命令行选项调用
rustc
。它的行为可能如下所示:

Running 
`CARGO=/home/user/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/cargo CARGO_BIN_NAME=super 
CARGO_CRATE_NAME=super CARGO_MANIFEST_DIR=/home/user/demo 
CARGO_MANIFEST_PATH=/home/user/demo/Cargo.toml 
CARGO_PKG_AUTHORS='' 
CARGO_PKG_DESCRIPTION='' 
CARGO_PKG_HOMEPAGE='' 
CARGO_PKG_LICENSE='' 
CARGO_PKG_LICENSE_FILE='' 
CARGO_PKG_NAME=demo 
CARGO_PKG_README='' 
CARGO_PKG_REPOSITORY='' 
CARGO_PKG_RUST_VERSION='' 
CARGO_PKG_VERSION=0.1.0 
CARGO_PKG_VERSION_MAJOR=0 
CARGO_PKG_VERSION_MINOR=1 
CARGO_PKG_VERSION_PATCH=0 
CARGO_PKG_VERSION_PRE='' 
CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/home/user/demo/target/debug/deps:/home/user/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib' 
/home/user/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc 
--crate-name super 
--edition=2021 
src/bin/super.rs 
--error-format=json 
--json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=120 
--crate-type bin 
--emit=dep-info,link 
-C embed-bitcode=no 
-C debuginfo=2 
--check-cfg 'cfg(docsrs)' 
--check-cfg 'cfg(feature, values())' 
-C metadata=cfed8a2a3cbb4725 
-C extra-filename=-cfed8a2a3cbb4725 
--out-dir 
/home/user/demo/target/debug/deps 
-C incremental=/home/user/demo/target/debug/incremental 
-L dependency=/home/user/demo/target/debug/deps`

,还有一个选项

-C extra-filename=-cfed8a2a3cbb4725
指定了crate名称的最终目标的后缀名称。

© www.soinside.com 2019 - 2024. All rights reserved.