Cargo build——verbose——target=i686-linux-android使target_os不是a



如果我用

构建项目cargo build --verbose --target=i686-linux-android

其中build.rs看起来像这样

fn main() {
#[cfg(target_os = "linux")]
{
panic!("target_os is linux!!!!!!!!!!!!!");
}

我对panic!("target_os is linux!!!!!!!!!!!!!");感到恐慌,但目标是机器人。

为什么?

build.rs脚本在本地编译并运行,因此其#[cfg(...)]属性将反映本地系统。如果你想知道你最终构建的操作系统,使用CARGO_CFG_TARGET_OS环境变量。

其他的可以在Rust参考中的构建脚本的环境变量Cargo sets中看到。

最新更新