Rust 如何使用通过命令行指定的变量编译库?

Rust 如何使用通过命令行指定的变量编译库?,rust,rust-cargo,Rust,Rust Cargo,我希望能够在编译时通过命令行提供变量 MY_VAR="my_var1" cargo build # or MY_VAR="my_var111" cargo build # or MY_VAR="my_varfdsafdsafds" cargo build 一个库应该用一个变量的值编译,并在代码中看到这个值。库不能在运行时解析变量,而必须在编译时解析 < >我不考虑以任何方式更改库的代码,也不考虑。货物/配置文件< /代码>,也不货

我希望能够在编译时通过命令行提供变量

MY_VAR="my_var1" cargo build

# or
MY_VAR="my_var111" cargo build

# or
MY_VAR="my_varfdsafdsafds" cargo build
一个库应该用一个变量的值编译,并在代码中看到这个值。库不能在运行时解析变量,而必须在编译时解析

< >我不考虑以任何方式更改库的代码,也不考虑<代码>。货物/配置文件< /代码>,也不<代码>货物。 我怎么做?是否可能?

您可以使用宏在编译时获取环境变量的值:

let my_var: &'static str = env!("MY_VAR");
这将把编译期间的值
MY_VAR
嵌入到二进制文件中,因此在运行时它可以作为
&'static str
使用