#可执行文件 #图标 #tauri #元数据 #构建脚本 #winres

构建 tauri-winres

为可执行文件创建和设置窗口图标和元数据

2个版本

使用旧Rust 2015

0.1.1 2023年5月4日
0.1.0 2023年1月19日

#264 in 构建工具

Download history 25269/week @ 2024-03-14 26330/week @ 2024-03-21 25810/week @ 2024-03-28 27188/week @ 2024-04-04 27001/week @ 2024-04-11 26403/week @ 2024-04-18 27533/week @ 2024-04-25 27443/week @ 2024-05-02 29632/week @ 2024-05-09 28995/week @ 2024-05-16 29770/week @ 2024-05-23 32483/week @ 2024-05-30 27389/week @ 2024-06-06 29465/week @ 2024-06-13 29567/week @ 2024-06-20 27262/week @ 2024-06-27

119,395 每月下载量
73 个crate中使用 (3 直接使用)

MIT 许可证

30KB
329

tauri-winres

一个简单的库,用于简化向可执行文件添加资源(元信息和图标)。

注意:tauri-winreswinres 的分支,它不再支持 Rust 1.61 或更高版本,并且已被 放弃维护。这个分支完全用 embed-resource crate 替换了资源编译器实现,以更好地支持跨平台编译。这个分支主要是为了在 Tauri 中使用而更新和修改的。对于更通用目的的分支,我们建议您也查看 winresource

文档

工具包

在开始之前,您需要安装适当的工具。

如果您使用的是与MSVC ABI兼容的Rust,则需要Windows SDK,而对于GNU ABI,您需要minGW64。

Windows SDK通常可以在注册表中找到,但minGW64必须在$PATH环境变量中。

使用tauri-winres

首先,您需要将构建脚本添加到您的crate中(build.rs),方法是在您的crate的Cargo.toml文件中添加它

[package]
#...
build = "build.rs"

[build-dependencies]
tauri-winres = "0.1"

接下来,您需要编写一个构建脚本。以下是一个简短的示例。

// build.rs

fn main() {
  if std::env::var("CARGO_CFG_TARGET_OS").unwrap() == "windows" {
    let mut res = tauri_winres::WindowsResource::new();
    res.set_icon("test.ico");
    res.compile().unwrap();
  }
}

就是这样。文件 test.ico 应该位于与 build.rs 相同的目录中。元信息(如程序版本和描述)来自 Cargo.toml[package] 部分。

请注意,在非 Windows 平台上使用此 crate 的支持是实验性的。建议仅在 Windows 主机上使用 tauri-winres,通过使用 cfg 作为指令来避免在 Unix 平台上构建 tauri-winres

[package]
#...
build = "build.rs"

[target.'cfg(windows)'.build-dependencies]
tauri-winres = "0.1"

接下来,您需要编写一个构建脚本。以下是一个简短的示例。

// build.rs

#[cfg(windows)]
fn main() {
    let mut res = tauri_winres::WindowsResource::new();
    res.set_icon("test.ico");
    res.compile().unwrap();
}

#[cfg(unix)]
fn main() {}

附加选项

为了增加便利性,tauri-winres 会解析 Cargo.toml 中的 package.metadata.tauri-winres 部分

[package.metadata.tauri-winres]
OriginalFilename = "PROGRAM.EXE"
LegalCopyright = "Copyright © 2016"
#...

此部分可能包含任意字符串键值对,这些键值对将包含在可执行文件/库文件的版本信息部分中。

以下键具有特殊含义,并将显示在 Windows 资源管理器的文件属性中

FileDescriptionProductNameProductVersionOriginalFilenameLegalCopyright

有关可执行文件/库版本信息部分的更多详细信息,请参阅 MSDN

关于此项目

原始作者和维护者使用此 crate 进行他们的个人项目,尽管在该环境中已进行过测试,但我们不知道其行为是否在所有地方都相同。

简而言之,我们非常依赖您的错误报告和功能建议来改进此 crate。

依赖关系

~0.7–11MB
~76K SLoC