echo 123
能打印到构建输出(主要是要调试我在做什么),并且不会成为最终项目的一部分。
我尝试过123
我无法从那里推断出答案(还有其他一些人喜欢):
https://github.com/rust-lang/cargo/issues/985
https://github.com/rust-lang/cargo/issues/1106
我觉得这一定很简单 - 但是我一直在网络上看几个小时而没有找到答案。
cargo build --verbose
Command
尚未执行它。它只是启动了一个构建器模式。要实际执行它,您必须使用方法Command::new
,
或
output
。示例:
status
很不幸的是,这不会引起警告。有人试图将Command::new("echo")
.arg("123")
.spawn()
.expect("failed to spawn process");
属性添加到#[must_use]
中,这将使您的代码发出警告。 PR目前关闭,但似乎最终会添加。我们可以使用一个宏,并且可以使用宏,但是有一个警告,因为它使用货物来显示。但这对我很好。 我从GIT HUB讨论中找到以下代码:
Cargo不会在build.rs#985中显示命令的输出
Command
macro_rules! p {
($($tokens: tt)*) => {
println!("cargo::warning={}", format!($($tokens)*))
}
}
fn main() {
p!("BUILD.rs -> Starting ...");
}
选项,可让您查看构建脚本的输出。
有关更多信息,请参阅this.。 因此,您可以将命令的输出存储在字符串中,然后使用println.