相关疑难解决方法(0)

如何使用 Cargo 设置环境变量?

我在 Cargo.toml 中列出了一个需要特定环境变量集的依赖项。我可以export FOO=bar在 bash中运行并且一切正常,但是对于我的生活,我无法弄清楚如何在编译时使用 Cargo 导出这个环境变量。我试过设置环境变量build.rs通过std::envCommandprintln!所有没有效果:

// build.rs
fn main() {
    Command::new("ls")
        .env("FOO", "bar")
        .spawn()
        .expect("ls command failed to start");
}
Run Code Online (Sandbox Code Playgroud)
// build.rs
fn main() {
    std::env::set_var("FOO", "bar");
}
Run Code Online (Sandbox Code Playgroud)
// build.rs
fn main() {
    println!("cargo:rustc-env=FOO=bar");
}
Run Code Online (Sandbox Code Playgroud)

rust rust-cargo

22
推荐指数
1
解决办法
9220
查看次数

是否可以在编译时从环境变量初始化变量?

我想在编译期间初始化一个变量。例如,我想初始化变量VAR,以VALUE编译代码时:

match env::var("VAR") {
    Ok(value) => println!("Ok {}", value),
    Err(e) => println!("Error ({})", e),
};
Run Code Online (Sandbox Code Playgroud)

但是,我想在no_std上下文中执行此操作,因此无法用于std::env访问环境。是否有可能做到这一点?

compile-time-constant rust

1
推荐指数
1
解决办法
1692
查看次数

标签 统计

rust ×2

compile-time-constant ×1

rust-cargo ×1