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
使用