本系列教程对应的代码已开源在 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
目录下。
测试安装包是否正常
是正常的,并且安装后可以正常运行: