解释了货物的环境变量here。
RUSTC
- 而不是运行rustc
,Cargo将执行此指定的编译器。RUSTC_WRAPPER
- 而不是简单地运行rustc
,Cargo将执行此指定的包装,将rustc
调用作为其命令行参数传递,第一个参数为rustc
RUSTC
和RUSTC_WRAPPER
变量看起来像是在做同样的事情。他们有什么不同?
答案 0 :(得分:7)
正如文件所述:
如果定义了RUSTC
,Cargo将不执行此行:
rustc <parameters>
但是这一个:
$RUSTC <parameters>
这就像Makefile中的变量CC
一样,用于设置替代编译器。
如果定义了RUSTC_WRAPPER
,Cargo将不会调用编译器本身。它将改为调用以下行:
$RUSTC_WRAPPER rustc <parameters>
您可以添加所需的选项,或在编译之前执行任何操作,但您必须自己调用编译器。嗯,这就是包装器的目的。