使用Rust Cargo构建不同的目标名称
答
编号调试与发布信息由配置文件控制。你可以看到all the profile-related manifest keys in the source code。我看到的唯一相关的是rustc_options
。在详细模式下运行的版本,你可以看货来电如何rustc:
$ cargo build --verbose
Compiling namez v0.1.0 (file:///private/tmp/namez)
Running `rustc --crate-name namez src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=5444c772a04e08f3 -C extra-filename=-5444c772a04e08f3 --out-dir /private/tmp/namez/target/debug/deps -L dependency=/private/tmp/namez/target/debug/deps`
Finished dev [unoptimized + debuginfo] target(s) in 0.45 secs
不幸的是,改变--crate-name
没有你想要的效果。
相反,我想指出的是您已经有不同的文件名,你就必须寻找更广阔:
target/debug/libname.a
target/release/libname.a
的调试和发布文件在不同目录。无论您要如何移动单独命名的库,都必须处理debug
和release
目录,无论如何。只需更新您的脚本:
mv target/debug/libname.a libnamed.a
mv target/release/libname.a libname.a
好的,谢谢。我希望有足够的使用货物。但是我也知道Cargo不能执行构建后的脚本,因此在这种情况下应该使用外部构建工具。 – user2303909