当前位置: 首页 > news >正文

【Rust GUI开发入门】编写一个本地音乐播放器(14. 应用打包-制作安装程序) - Jordan

本系列教程对应的代码已开源在 Github zeedle

本篇文章介绍如何打包所编写的音乐播放器!

为什么要打包?

  • 在某些操作系统,如Windows上,Rust程序通常动态链接C运行时,也就是依赖api-ms-win-crt-*.dll才能运行
  • 相关dll如果跟zeedle.exe不在一个目录下,或者操作系统未安装C运行时,应用将无法正常启动

选择并安装打包工具

这里选择cargo-packager作为打包程序,不要问为什么不用cargo-bundle,因为我用这个没有打包成功

cargo install cargo-packager

指定打包配置

Cargo.toml中添加:

[package.metadata.packager]
product-name = "Zeedle"
before-packaging-command = "cargo build --release"
resources = ["DLLs/*.dll"]    # 指定将需要的.dll文件添加到安装包里面
authors = ["Jordan Haidee"]
identifier = "dev.zeedle"
copyright = "Copyright © 2025 Zeedle Dev. All rights reserved."[package.metadata.packager.nsis]
installer-icon = "ui/cover.ico"    # 指定安装包使用这个图标

这里需要的.dll文件,在linux下可以用ldd查找,在Windows下可以用dumpbin查找,dumpbin存在于Developer PowerShell for VS xxxx中,可以直接打开这个shell使用:

dumpbin /dependents xxx.exe

进行打包

cargo packager --release

生成的文件将被存放到target/release目录下。

测试安装包是否正常

package-test.png

是正常的,并且安装后可以正常运行:

install-test.png

http://www.gsyq.cn/news/14406.html

相关文章:

  • Visual Studio Code + Clangd 设置语法检查针对 C++的版本。
  • 示波器地、大地、电源地!地线着火?
  • 【Rust GUI开发入门】编写一个本地音乐播放器(13. 实现按键绑定) - Jordan
  • mem reduct 没有托盘图标
  • PEP8 规范
  • 【Rust GUI开发入门】编写一个本地音乐播放器(11. 支持动态明暗主题切换) - Jordan
  • US$54 AM29FXXX Adapter for CG Pro 9S12 Programmer
  • 2025CSP-S晋级和英才计划入围后:我走过了哪些路
  • 【J+S 二十连测】-- 第十二套爆炸记
  • 2025-2026-1 CS3311 软件工程 个人项目第一版已发布
  • 2025年10.1~10.6日信息竞赛计划安排表
  • 9. Spring AI 当中对应 MCP 的操作 - Rainbow
  • 随机采样研究随笔
  • springboot+vue心理健康服务小程序(源码+文档+调试+基础修改+答疑) - 详解
  • MacOS拉取git代码报.DS_Store 冲突修复
  • ARL灯塔搭建
  • 记 Charles 抓不到包 - Higurashi
  • 详细介绍:(基于江协科技)51单片机入门:5.定时器
  • part2
  • 9.30总结
  • pytorch基本运算-torch.normal()函数输出多维材料时,如何绘制正态分布函数图
  • Harbor磁盘空间清理指南:如何安全清理半年前的镜像 - 详解
  • 详细介绍:第14章 AI Agent——构建自主智能助理
  • JDK17新特性梳理
  • 抓紧上车,别再错过啦, Github 开源后台管理平台,Naive UI !!!
  • 实用指南:电子电气架构 --- 智能座舱域环境感知和人机交互系统
  • Tita项目与绩效一体化管理:重构组织效能的数字化中枢
  • 深入解析:【网络编程】套接字入门:网络字节序与套接字种类剖析
  • 【半导体物理 | 笔记】第二章 半导体中杂质和缺陷能级
  • VMware Live Site Recovery 9.0.4 发布 - 数据中心灾难恢复 (DR)