fix(build): build.rs 用 cfg 门控 embed_resource,修复 Linux 编译

embed_resource 只声明在 Windows 的 build-dependencies,Linux 编译
build script 时模块路径无法解析(CI Test job 首跑即暴露:旧 Gitea
runner 从未真正跑过流水线,此问题一直潜伏)。运行时 env 判断无效,
改用 #[cfg(target_os = "windows")] 编译期门控。
This commit is contained in:
2026-09-30 13:09:37 +08:00
parent 8614c66131
commit 7bff64e477
+4 -1
View File
@@ -5,7 +5,10 @@
//! 缺失时任务栏与资源管理器显示系统默认图标。 //! 缺失时任务栏与资源管理器显示系统默认图标。
fn main() { fn main() {
if std::env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("windows") { // embed_resource 仅声明在 Windows 的 build-dependencies:必须用 cfg 门控,
// 否则 Linux/macOS 编译 build script 时该路径无法解析(运行时 env 判断救不了编译期)
#[cfg(target_os = "windows")]
{
println!("cargo:rerun-if-changed=resources/app.rc"); println!("cargo:rerun-if-changed=resources/app.rc");
println!("cargo:rerun-if-changed=resources/icon.ico"); println!("cargo:rerun-if-changed=resources/icon.ico");
embed_resource::compile("resources/app.rc", embed_resource::NONE) embed_resource::compile("resources/app.rc", embed_resource::NONE)